如何发送多个ajax请求

How to send multiple ajax requests?

本文关键字:ajax 请求 何发送      更新时间:2023-09-26

我是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 = new array();items.push (itemid);....items.push (itemid);//然后发送它?xmlhttp.open("文章"、"submitItem.php ?项= "项目,真的);xmlhttp.send ();

然后在php文件中,我应该这样做吗?

$items = $_GET['items'];

使用for循环生成一个项目数组(每次迭代时将不同的itemid推入数组),然后只进行一次AJAX调用,在调用中将所有项目插入数据库。这种方式还可以优化您的网站,节省您的带宽。