當用戶單擊按鈕時,會調用以下函數。jquery-ajax DELETE請求拋出403訪問被拒絕錯誤
function clearTable() {
$.ajax({
url: 'cleartable.php',
type: 'DELETE',
success: function(result) {}
});
}
這工作我想它在我的本地服務器上測試的方式,即clearTable()
調用cleartable.php
,這又確實TRUNCATE TABLE tablename
。
然而,當我在我的遠程服務器上運行它,Chrome的JavaScript控制檯我打印錯誤消息:
DELETE URL_TO_MY_REMOTE_SERVER/cleartable.php 403(拒絕訪問) jQuery的1.9.1.min。 JS:5
一種解決方法是改變type
到POST
或GET
,然後它會全成調用PHP。但是,我想知道是什麼導致DELETE請求失敗。它適用於我的本地主機,那爲什麼它不在我的遠程服務器上工作呢?此外,基於REST,請求類型變爲DELETE更有意義,因爲我正在刪除服務器上的某些內容,對吧?
當你將它發送到遠程服務器時,我猜測它違反了[同源策略](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript)。 –
檢查服務器配置。例如apache'mod_security'模塊可能會過濾某些類型的請求。 – claustrofob