当用户点击按钮时,会调用以下函数。
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更有意义,因为我正在删除服务器上的内容,对吧?
答案 0 :(得分:0)
首先 - 我的回答是基于我对Apache的经验,尽管它可能与其他服务器软件有关。
我遇到了客户端网站的同样问题,看来他们的httpd.conf文件中的相关VirtualDirectory条目拒绝DELETE请求,因此403 Forbidden错误。
我还在等待他们的回复,看看是否允许DELETE请求解决了这个错误,但我想我会在这里发布我的发现,希望它可以解释你所看到的内容。