Ajax多个XMLHttpRequests-如何使用?
我不熟悉Ajax。我写了以下内容,但似乎无法找出问题所在。我试图调用多个对web服务器的HTTP请求调用。我在网上查看了一些例子,并得出以下结论 嗯,我的代码因为一些问题而无法工作。有人能帮我修复这个代码吗Ajax多个XMLHttpRequests-如何使用?,ajax,ajax-request,Ajax,Ajax Request,我不熟悉Ajax。我写了以下内容,但似乎无法找出问题所在。我试图调用多个对web服务器的HTTP请求调用。我在网上查看了一些例子,并得出以下结论 嗯,我的代码因为一些问题而无法工作。有人能帮我修复这个代码吗 function getCurBid(bidID){ var XMLHttpRequestObject = false; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Oper
function getCurBid(bidID){
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXobject)
{
// code for IE6, IE5
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
if(XMLHttpRequestObject)
{
var objID = document.getElementById("curBid"+bidID);
XMLHttpRequestObject.open("GET","ajax_getBid.cfm?ida="+bidID,true);
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200)
{
objID.innerHTML = XMLHttpRequestObject.responseText;
}
XMLHttpRequestObject.send();
}
}
你需要更像这样的东西:
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
objID.innerHTML = XMLHttpRequestObject.responseText;
}
}
您需要将逻辑包装到事件处理程序中
因此,与您的脚本集成的是:
function getCurBid(bidID){
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXobject)
{
// code for IE6, IE5
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
if(XMLHttpRequestObject)
{
var objID = document.getElementById("curBid"+bidID);
XMLHttpRequestObject.open("GET","ajax_getBid.cfm?ida="+bidID,true);
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
objID.innerHTML = XMLHttpRequestObject.responseText;
}
};
XMLHttpRequestObject.send();
}
}
你有JavaScript调试工作吗?没有它,你永远也不会知道出了什么问题。我包括console.log??在整个代码中,但没有太多帮助。实际的调试会更有用-在结果出现之前,您可以通过运行结果处理程序代码发现您的特定问题。我使用的是Chrome控制台屏幕。同样,没有太多关于错误的细节。大多数错误不会产生任何错误。请在代码中插入一个断点,体验实际的JavaScript调试,无需进一步麻烦因此,基于以下代码,我将在哪里调用ajax_getBid.cfm?ida+bidID:XMLHttpRequestObject.openGET,ajax_getBid.cfm?ida=+bidID,true;{如果XMLHttpRequestObject.readyState==4&&XMLHttpRequestObject.status==200{objID.innerHTML=XMLHttpRequestObject.responseText;}我注意到了一些错误。。。您的代码在IE兼容视图中不起作用。有什么建议吗?我需要更多关于什么不起作用的信息。错误是什么?您可以尝试将.onreadystatechange更改为.onload,但正如我所说,需要更多信息您的代码按原样使用。基本上,整数数据是通过ColdFusion从数据库表返回的。ie.[XMLHttpRequestObject.openGET,ajax_getBid.cfm?ida=+bidID,true;]除了在ie兼容模式下,您的代码工作正常。我没什么能给你的了。我认为问题可能在这里:[//IE6的代码,IE5 XMLHttpRequestObject=new ActiveXObject Microsoft.XMLHTTP;]打开开发工具f12,刷新页面,然后再次运行。查看控制台是否记录了任何相关错误