如果我使用简单的POST XHR请求,它可以发送POST参数:
var http = new XMLHttpRequest();
var url = "example url";
var params = "limit=2";
http.open("post", url);
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
但是如果我使用带有参数(data)的 Promise,那么就会出现未定义的 PHP 索引错误,我无法通过 Promise 发送参数吗?还是我漏掉了什么……
function postAjaxCall(url, data) {
// return a new promise.
return new Promise(function(resolve, reject) {
// do the usual XHR stuff
var req = new XMLHttpRequest();
req.open('post', url);
req.onload = function() {
if (req.status == 200) {
resolve(req.response);
}
else {
reject(Error(req.statusText));
}
};
// handle network errors
req.onerror = function() {
reject(Error("Network Error"));
};
// make the request
req.send(data);
//same thing if i hardcode like
//req.send("limit=2");
});
};
我发出请求
postAjaxCall('example url', "limit=2").then(
function(response) {
document.getElementById('example').innerHTML = response;
},
function(error) {
console.error("Failed!", error);
});
var url = "示例 URL";
这真的是你的代码吗,还是因为在此处发布而更改了它? - flx