Ajax Multiple XMLHttpRequests - 如何使用?

时间:2014-04-08 17:50:48

标签: ajax ajax-request

我是Ajax的新手。我写了以下但似乎无法弄清楚它有什么问题。我试图调用Web服务器的多个HTTP请求调用。我在网上查看了一些例子并提出了以下建议。

好吧,由于某些问题,我的代码无效。任何人都可以帮我修复这段代码吗?

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(); 
   }
}

1 个答案:

答案 0 :(得分:0)

你需要更像这样的东西:

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(); 
   }
}
相关问题