我有两个 AJAX 调用,一个使用 native JavaScript,另一个使用 JQuery,它调用 PHP 脚本。 JQuery 可以工作,但 JavaScript 不能。代码如下:
JQuery:
$.ajax({
url: "/Tests/index.php",
method: "POST",
data: {'Id': "2"}
});
native JavaScript:
var Data = {Id: "2"};
XHR = new XMLHttpRequest();
XHR.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(XHR.responseText);
}
}
XHR.open("POST", "/Tests/index.php", true);
XHR.setRequestHeader("Content-Type", "application/json");
XHR.send(JSON.stringify(Data));
PHP 脚本:
echo var_dump($_POST);
使用 JQuery 的返回 2
,但使用 JavaScript 的则不返回任何内容。所有数据都可以通过网络浏览器的控制台查看。
最佳答案
试试这个代码:
var Data = {"Id": "2"};
var XHR = new XMLHttpRequest(); // declared XHR var
XHR.open("POST", "/Tests/index.php", true);
XHR.setRequestHeader("Content-Type", "application/json");
XHR.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(XHR.responseText);
}
}
XHR.send(Data); // sending data without converting to string
引用:https://www.w3schools.com/xml/ajax_xmlhttprequest_send.asp
关于javascript - JQuery Ajax 调用可以工作,但不能本地 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47248245/