我是ajax的新手。我有一个使用 php 页面将项目列表插入 sql 的功能,但它只插入最后一项。请看下面的代码:
function submitItems() {
...
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
if (xmlhttp.responseText != "Item Sold")
alert(xmlhttp.responseText);
}
}
for (i=0;i<rows.length;i++) {//a loop to send multiple requests
xmlhttp.open("POST","submitItem.php?itemid="+itemid,true);
xmlhttp.send();
}
}
循环将请求发送到执行插入的 php 页面,但只处理最后一个请求。如果我在循环中放置一个 alert() ,它每次都会弹出一个窗口,并且每个项目都会被插入,但是,不断弹出窗口很烦人。还有其他解决方案吗?
或者,正如第一个回复所说,我只发送一个请求,其中包含一个存储项目列表的数组。但我不知道如何将数组作为参数传递。我可以这样做吗?
var items = 新数组();items.push(itemid); . . . . items.push(itemid); //然后直接发送?xmlhttp.open("POST","submitItem.php?items="items,true); xmlhttp.send();
然后在php文件中,我应该这样做吗?
$items = $_GET['items'];