XMLHttpRequest不发送

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XMLHttpRequest不发送相关的知识,希望对你有一定的参考价值。

这是扩展代码的一部分:

let url = "https://mywebsite.com/data.php";
function newRequest() {
    var client = new XMLHttpRequest();
    client.open("POST", url, true);
    client.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    client.send("status=true");
    console.log(client.status);
}
newRequest();

其中还在控制台中记录0。我一直在关注这里的文档:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest,尝试无数次调整,并且控制台中没有任何错误。不确定问题是什么。

我的服务器上的PHP肯定有效,因为我能够从本地html文件成功发布数据。

答案

由于AJAX请求是异步的,因此您需要通过回调onreadystatechange来处理它。

代码应该是这样的

let url = "https://mywebsite.com/data.php";
function newRequest() {
    var client = new XMLHttpRequest();
    client.onreadystatechange = function() {
        console.log(this.readyState) // should be 4
        console.log(this.status) // should be 200 OK
        console.log(this.responseText) // response return from request
    };
    client.open("POST", url, true);
    client.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    client.send("status=true");
    console.log(client.status);
}
newRequest();

希望这可以帮助。

欲了解更多信息:https://www.w3schools.com/js/js_ajax_http_response.asp

以上是关于XMLHttpRequest不发送的主要内容,如果未能解决你的问题,请参考以下文章

XMLHttpRequest 发送 JS 对象

IOS上的xmlhttprequest不发送请求?

我应该如何使用 Outlook 发送代码片段?

XMLHttprequest 发送一个空帖子

如何重新发送失败的xmlHttpRequest

不使用本机 XMLHttpRequest 的原因 - 为啥 $.ajax 是强制性的?