使用AJAX向PHP发送POST请求时出现405错误消息

时间:2016-08-14 23:12:52

标签: javascript php jquery ajax post

我正在使用AJAX发送POST请求,如下所示:

var time = Date.now();
request = $.ajax({
    data : 'time=' + time,
    url : '/php/save.php',
    type : 'POST',
    success : function(response) {
        alert(response);
    }
});

save.php文件如下所示:

<?php
header('Content-type: text/plain');
header('Access-Control-Allow-Origin: *');
echo $_POST["time"];
?>

我得到的错误信息是:

  

无法加载资源:服务器响应状态为405   (不允许的方法)

根据像this one这样的问题,我添加的标题应该已经完成​​了。但是,错误本身也有点令人困惑,因为 save.php index.html 文件中的相同的域显然很明显。< / p>

我会非常感谢任何建议。除了我上面展示的PHP文件配置之外,我已经尝试过许多其他人,就像Google上类似的问题或答案一样 - 到目前为止没有运气。

谢谢!

1 个答案:

答案 0 :(得分:-1)

这种情况正在发生,因为您的托管不允许域在请求中使用POST方法。不幸的是,您可以使用GET方法......如果允许的话:

request = $.ajax({
    /* ... */
    type : 'GET',
    /* ... */
});

注意:您发送的数据会转到URL参数,然后在服务器端,您应该为$_GET编制索引,而不是$_POST以获取数据值。

否则您需要从此主机迁移...