Javascript XMLHttpRequests在循环中?
我试图将一组记录保存到mysql数据库中,但除了最后一次保存外,我总是在firebug中收到中止消息。如何使用XMLHttpRequest循环保存记录?这是我的密码:Javascript XMLHttpRequests在循环中?,javascript,loops,xmlhttprequest,Javascript,Loops,Xmlhttprequest,我试图将一组记录保存到mysql数据库中,但除了最后一次保存外,我总是在firebug中收到中止消息。如何使用XMLHttpRequest循环保存记录?这是我的密码: function savingContent() { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {//
function savingContent()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
var rowindex = 0;
for (x in globalObj.AddedRows)
{
var rowData = "?q=" + globalObj.AddedRows[rowindex];
xmlhttp.open("POST", "insertRowData.php"+rowData, true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-Length",rowData.length);
xmlhttp.send(null);
rowindex += 1;
}
这段代码有很多问题。以下是我发现的第一批:
语法仅当您希望迭代对象中的所有字段时才应使用。在这种情况下,您希望在数组上进行迭代,因此您应该这样做:
for (var rowindex = 0; rowindex < globalObj.AddedRows.length; rowindex++) {
}
for(var rowindex=0;rowindex
这段代码有很多问题。以下是我发现的第一批:
语法仅当您希望迭代对象中的所有字段时才应使用。在这种情况下,您希望在数组上进行迭代,因此您应该这样做:
for (var rowindex = 0; rowindex < globalObj.AddedRows.length; rowindex++) {
}
for(var rowindex=0;rowindex
除dmazzoni外:
每次for循环发送一个异步xml请求时,它都会覆盖上一个请求,因此上一个请求被中止。在发送新请求之前,您应该在for循环中创建一个新的XMLHttpRequest(或IE的ActiveXObject),或等待HTTP返回调用。除了dmazzoni:
每次for循环发送一个异步xml请求时,它都会覆盖上一个请求,因此上一个请求被中止。在发送新请求之前,您应该在for循环中创建一个新的XMLHttpRequest(或IE的ActiveXObject),或者等待HTTP返回调用。如果您感谢帮助,请对您认为有帮助的任何答案进行投票,并接受您最喜欢的答案。如果你感谢你的帮助,请在你认为有帮助的任何答案上投票,并接受你最喜欢的答案。否则人们以后就不会费心回答你的问题了。