2012-12-17 36 views
1

有了这个功能:2如何加载onload()JavaScript脚本?

function start() { 
MONDUX(); 
Biggie(); 
} 

功能MONDUX执行和AJAX调用返回良好的数据并正确显示。 然而,Biggie()是a.w.a.l.

这样的结果:

function start() { 
Biggie(); 
MONDUX(); 
} 

是相反的。 Biggie()按预期工作,MONUX()失败。

这并没有什么好处,倒在身上:

<script type="text/JavaScript"> 
window.onload= start(); 
</script> 

和,这闪避是没有帮助的:

<body onload="start()"> 

,并已尝试像这样还

在这里消除货物的难题 - 编程和耗尽想法。建议?

这些资源都是相关的//接近点击//没有雪茄。 Loading javascript in body onload with 2 functions JS and Body(Window) Onload event JavaScript: How is "function onload() {}" different from "onload = function() {}"?那一个 是迷人的,但方式深水我... How to onload two javascript files?咩......不错,但是......

? :/〜

<script type="text/javascript" > 

function MONDUX(){ 
if (window.XMLHttpRequest) 
{ // code for IE7+, Firefox, Chrome, Opera, Safari 
xmlhttp=new XMLHttpRequest(); 
} 
else 
    { // code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
{ 
if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("WhatThexBobby").innerHTML=xmlhttp.responseText; 
    } 
} 
xmlhttp.open("POST","000 8 KISS 22solo PHP.php?figure1=5&figure2=33", true); 
xmlhttp.send(); 

alert(WhatThexBobby); 

} 
</script> 
<script type="text/javascript" > 

function Biggie(){ 

if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
{ 
if (xmlhttp.readyState==4 && xmlhttp.status==200) 
{ 
document.getElementById("FreakinEh").innerHTML=xmlhttp.responseText; 
} 
} 
xmlhttp.open("POST","000 8 KISS solo PHP.php?figure1=5&figure2=10", true); 
xmlhttp.send(); 

alert(FreakinEh); 
} 


</script> 
+0

你试过'$(document).ready()'吗? –

+3

什么是Biggie和MONDUX?他们必须学会合作。这_will_调用两者。 –

+1

你有多确定*两个*函数不会导致某种错误?在这种情况下调用函数的顺序并不重要,在调用其他函数之前,处理将停止。 –

回答

1

您将请求分配给全局变量xmlhttp,然后在第一个请求返回之前将该变量重新分配给另一个请求。我不知道这是否会导致您的问题,但这肯定会导致a问题。这也是非常糟糕的JavaScript实践。

简单的解决方法是把行'var xmlhttp;'在两个职能的开始。

编辑:以防万一你不知道这一点:xmlhttprequest是异步的。您可以调用'send',并且在请求发送到服务器时,脚本和文档中的剩余语句继续运行。只有在服务器返回后,才会调用各种回调方法(onreadystatechange等),并且在显示警报之后很长时间。

+0

我建议如此:) – sakhunzai

+1

@sakhunzai:是的,我发布后看到你忍不住对我说。抱歉。 – user4815162342

+0

@ user4815162342 magia! :) var xmlhttp;在下面的行之后:function X(){... just,哇。现在使用它,看看我能不能学习它为什么起作用。谢谢......我正在尝试学习一些JavaScript用户界面,以便能够在我的个人资料中列出的网站上显示159个用户希望访问的图像。现在,有一种方法来获得主要的PHP脚本上的多个变量将有所帮助。 – MountainMan

0

考虑到其中之一是抛出一些错误,将它们放在Try Catch中不是个好主意吗?类似的,

function start() { 
    try 
    { 
    MONDUX(); 
    } 
    catch(err) 
    { 
    // handle error 
    } 
    try 
    { 
    Biggie(); 
    } 
    catch(err) 
    { 
    //Handle error 
    } 
    finally 
    { 
    // cleanup 
    } 
} 

这将确保两个运行,即使其中一个失误。