Javascript 2个AJAX命令可以工作,但我只看到最后一个;responseText“;

Javascript 2个AJAX命令可以工作,但我只看到最后一个;responseText“;,javascript,html,ajax,xmlhttprequest,Javascript,Html,Ajax,Xmlhttprequest,我有两个执行AJAX调用的JS函数,我想对它们进行测试,所以我创建了两个具有不同ID的段落,它们将保存响应文本的结果: <script type="text/javascript"> trackApplicationAdded('1139631160', '12445'); //should change test1 paragraph trackApplicationRemoved('1139631160'); //should change test

我有两个执行AJAX调用的JS函数,我想对它们进行测试,所以我创建了两个具有不同ID的段落,它们将保存响应文本的结果:

<script type="text/javascript">      

    trackApplicationAdded('1139631160', '12445'); //should change test1 paragraph
    trackApplicationRemoved('1139631160'); //should change test2 paragraph

</script> 

<p>Test1: <span id="test1"></span></p>
<p>Test2: <span id="test2"></span></p> 
}

顺便说一句,AJAX通过PHP函数实现数据库
insert
,在任何情况下都能正常工作。需要注意的是,问题只在于段落的更改,而不是服务器中发生了什么

有人知道如何解决这个问题吗?谢谢

编辑

以下是两个功能的代码:

function trackApplicationAdded(fID, fappID) 
{    

var url = "trackApplicationAdded.php";
var params = "facebookID=" + fID + "&facebookApplicationID=" +fappID;

sendRequest(url,params, "test1");  
}


function trackApplicationRemoved(fID) 
{    

var url = "trackApplicationRemoved.php";
var params = "facebookID=" + fID;

sendRequest(url,params, "test2");  
}

您在声明“httpRequest”时忘记了
var
,因此第二个调用覆盖了第一个调用。没有
var
声明,变量是全局变量

在“sendRequest()”的顶部添加:

var httpRequest;

除非我错过了什么。。您正在两个ajax调用中设置innerHTML,问题是您希望两个结果都显示出来吗?为什么不直接连接innerHTML呢?您应该发布设置“httpRequest”变量的代码-正是您使用的代码,因为我预感到问题出在哪里。您需要在
trackApplicationAdded
trackApplicationRemoved
@jbabey中发布代码。这两个ajax调用都是从同一个函数(
sendRequest
)调用的,每次都使用不同的变量将
innerHTML
写入不同的parahgraph。如果不发布该代码,您可能无法获得所需的帮助。“sendRequest()”中注释掉的部分可能就是问题所在。非常感谢!它确实解决了问题。但是现在我不明白当这两个函数都工作时,服务器中的命令是如何工作的而没有问题,为什么全局
var
只影响返回的文本?你能解释一下吗。。。谢谢:)服务器端工作正常,因为浏览器确实发出了两个单独的HTTP请求。只是您的代码从第一个请求中重写了状态更改事件处理程序,所以当浏览器得到响应时,它将其传递给为第二个调用设置的处理程序,该处理程序只更新了第二个“test”,而不是第一个。我明白了,但是第一个请求不应该转到
readyState==4
并在第二个请求重写处理程序之前执行
innerHTML
命令吗?不,因为浏览器几乎同时发出这两个请求;它们是异步的。在服务器返回响应之前,就绪状态不会更改。
var httpRequest;