javascript - JQuery Ajax 调用可以工作,但不能本地 JavaScript

标签 javascript php jquery ajax

我有两个 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/

相关文章:

c# - 使用客户端功能创建复合控件

javascript - getElementById 无法获取 html id 的值

php - 如果我绑定(bind)参数,我必须使用 mysql_real_escape_string 吗?

javascript - 谷歌地图 - 打开 InfoWindow onMouseover 而不是 onClick

jQuery 在 3 秒后打开/关闭单击

javascript - 使用 AngularJS 添加带有模型的标签

javascript - 检查 JSON 响应是否为空或 null 的最佳方法

javascript - 限制对 Web 应用程序的访问

php - 使用通配符提供访问控制允许来源

javascript - .toLowerCase 不起作用,替换功能?