jquery-ajax DELETE请求抛出403访问被拒绝错误

时间:2013-06-21 21:34:07

标签: php jquery rest http-status-code-403

当用户点击按钮时,会调用以下函数。

function clearTable() {
    $.ajax({
        url: 'cleartable.php',
        type: 'DELETE',
        success: function(result) {}
    });
}

在我的localhost服务器上测试时,它的工作方式与我想要的方式相同,即clearTable()调用cleartable.php,而TRUNCATE TABLE tablename调用type

但是,当我在远程服务器上运行时,Chrome的javascript控制台我会输出错误消息:

  

DELETE URL_TO_MY_REMOTE_SERVER / cleartable.php 403(拒绝访问)   的jquery-1.9.1.min.js:5

解决方法是将POST更改为GET或{{1}},然后它将成功调用php。但是,我想知道是什么导致DELETE请求失败。它适用于我的localhost,那为什么它不能在我的远程服务器上运行呢?另外,基于REST,请求类型为DELETE更有意义,因为我正在删除服务器上的内容,对吧?

1 个答案:

答案 0 :(得分:0)

首先 - 我的回答是基于我对Apache的经验,尽管它可能与其他服务器软件有关。

我遇到了客户端网站的同样问题,看来他们的httpd.conf文件中的相关VirtualDirectory条目拒绝DELETE请求,因此403 Forbidden错误。

我还在等待他们的回复,看看是否允许DELETE请求解决了这个错误,但我想我会在这里发布我的发现,希望它可以解释你所看到的内容。