我是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();
}
}
答案 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();
}
}