2012-05-18 20 views
1

我在調用一個API Delete函數,它只接受DELETE謂詞。如何在Ajax請求中使用DELETE動詞

我已經試過

$.ajax({ 
url: 'http://myurl', 
type: 'DELETE', 
success: function(result) { 
    // Do something with the result 
}); 

但它顯示了請求方法,響應頁眉選項。

任何人都可以幫助我如何發送DELETE動詞與ajax請求。

+0

這個問題添加條目中的最佳解決方案仍然沒有得到解決,如果任何人都可以幫助我也試過xmlHttpRequest,但仍顯示選項url –

回答

1

這裏是你的答案,可享受:Are the PUT, DELETE, HEAD, etc methods available in most web browsers?

每jQuery的文檔:

請求的類型作出( 「POST」 或 「GET」),默認是 「GET」。注意:其他HTTP請求方法(如PUT和DELETE)也可以在此處使用,但它們不受所有瀏覽器支持。

您使用的瀏覽器是?

+0

我使用鉻,但我有沒有API的方法來設置所有瀏覽器的支持? –

2

「...但它顯示請求方法爲響應頭中的選項。」

這聽起來像是跨域請求問題。你是從同一個域或不同的域發出請求嗎?此外,答案是什麼?我還猜測沒有第二個請求,因爲如果瀏覽器確定您可以從選項響應發送請求,那麼第二個請求基本上就是您的原始請求。選項請求是瀏覽器詢問是否可以發出其他請求。選項響應基本上告訴瀏覽器哪些域可以創建某些請求(或者沿着這些線)。

瞭解更多關於跨來源資源共享here

+0

我發送請求從不同的域和測試客戶端,當我測試相同的網址,它工作正常,但與代碼它返回錯誤的請求,我想因爲不同的響應頭。如果我從同一個域發送它會工作? –

+0

如果url被設置爲回答這樣的請求並且請求已被認證並被授權進行,則對於來自相同域下的頁面的url的DELETE請求應該成功。換句話說,*它應該工作* ,但我在這裏假設你或某人採取了預防措施,以確保事物的設置能夠發揮作用。此API是否已經過驗證可與其他客戶合作?您的請求是否真的擁有API所需的一切?等等 – JayC