Ajax POST永远不会工作,状态405

时间:2015-07-31 08:18:54

标签: javascript ajax post

q

这是我的javascript文件。我没有使用jquery,我使用自己的ajax函数:

$.ajax({

    url: "http://www.voyga.top/shan/form.php",
    method: "POST",
    data: "feedback=" + feedback,

    success: function(response) {

        // do something...

    }

});

我的PHP代码:

var xhr = new XMLHttpRequest();

xhr.open(options.method, options.url, true);
xhr.send(options.data);

xhr.onreadystatechange = function() {

    if (xhr.readyState === 4 &&
        xhr.status === 200) {

        options.success(xhr.responseText);

    }

};

为同一个网址," GET"工作正常,但" POST"不允许继续显示状态405(即使发布本地文件)。问题是什么?这是关于我的代码吗?

2 个答案:

答案 0 :(得分:0)

这是因为,您使用POST请求的服务器不会从POST Super Global变量中读取数据。

服务器希望客户端使用GET方法和该服务器上的API发送数据,编程为读取GET超级全局变量。

结论:这不是问题,

  1. 如果API是第三方,则必须使用GET方法(意味着您无权访问API代码)。

  2. 如果您可以访问服务器代码,请正确检查并采取适当的措施来阅读POST Super Global变量。

  3. 希望这有助于您了解正在发生的事情。

答案 1 :(得分:0)

解决了问题。 这是因为我的php文件由Github Pages托管,它不支持php和POST方法......我改变了主机并且它有效。谢谢你们的帮助。