【发布时间】:2020-05-17 05:45:25
【问题描述】:
我的问题是……
我制作了一个javascript函数来使用XMLHttpRequest从我的数据库中获取一些数据,使用POST方法,如果我只使用这个函数一次,这可以按照我的意愿工作,但是我需要在我的数据库中调用这个函数超过1次项目,当我调用 2 次或更多次时,只有最后一个请求给我一些数据,第一个只显示 POST 方法的主体,但不返回数据,所以问题是......
我怎样才能让这个功能在我每次调用时都能正常工作?
如果你们能告诉我为什么现在会发生这种情况,我也将不胜感激
我把日志放在我的函数中,看看发生了什么,我的 POST 方法请求的主体每次都在那里,但只有最后一个函数得到返回的数据,其他函数甚至返回一些东西......
我的功能:
var xhr = new XMLHttpRequest();
function getListOfProducts(id, paramsCat, paramsSubcat, insertCheckout) {
var params1 = {
id_categoria: paramsCat,
id_subcategoria: paramsSubcat,
slug: "",
};
console.log(params1);
xhr.open("POST", url);
xhr.onload = function () {
console.log("Loaded");
var parse = JSON.parse(xhr.response);
var products = parse.results;
console.log(products);
};
xhr.send(JSON.stringify(params1));
}
【问题讨论】:
-
为什么不使用 fetch api..developer.mozilla.org/en-US/docs/Web/API/Fetch_API
-
所以您多次致电
getListOfProducts?只有最后一个有效?也许其他人都失败了......和一个xhr.onerror处理程序并记录你得到的任何错误 -
谢谢你的回答,fetch真的是个不错的选择,我会看看
标签: javascript post request xmlhttprequest