我在調用一個API Delete函數,它只接受DELETE謂詞。如何在Ajax請求中使用DELETE動詞
我已經試過
$.ajax({
url: 'http://myurl',
type: 'DELETE',
success: function(result) {
// Do something with the result
});
但它顯示了請求方法,響應頁眉選項。
任何人都可以幫助我如何發送DELETE動詞與ajax請求。
我在調用一個API Delete函數,它只接受DELETE謂詞。如何在Ajax請求中使用DELETE動詞
我已經試過
$.ajax({
url: 'http://myurl',
type: 'DELETE',
success: function(result) {
// Do something with the result
});
但它顯示了請求方法,響應頁眉選項。
任何人都可以幫助我如何發送DELETE動詞與ajax請求。
我得到了這個問題
http://brockallen.com/2012/06/28/cors-support-in-webapi-mvc-and-iis-with-thinktecture-identitymodel/
在webconfig
<modules runAllManagedModulesForAllRequests="true">
<add name="CorsHttpModule" type="Thinktecture.IdentityModel.Http.Cors.IIS.CorsHttpModule"/>
</modules>
這裏是你的答案,可享受:Are the PUT, DELETE, HEAD, etc methods available in most web browsers?
每jQuery的文檔:
請求的類型作出( 「POST」 或 「GET」),默認是 「GET」。注意:其他HTTP請求方法(如PUT和DELETE)也可以在此處使用,但它們不受所有瀏覽器支持。
您使用的瀏覽器是?
我使用鉻,但我有沒有API的方法來設置所有瀏覽器的支持? –
「...但它顯示請求方法爲響應頭中的選項。」
這聽起來像是跨域請求問題。你是從同一個域或不同的域發出請求嗎?此外,答案是什麼?我還猜測沒有第二個請求,因爲如果瀏覽器確定您可以從選項響應發送請求,那麼第二個請求基本上就是您的原始請求。選項請求是瀏覽器詢問是否可以發出其他請求。選項響應基本上告訴瀏覽器哪些域可以創建某些請求(或者沿着這些線)。
瞭解更多關於跨來源資源共享here
我發送請求從不同的域和測試客戶端,當我測試相同的網址,它工作正常,但與代碼它返回錯誤的請求,我想因爲不同的響應頭。如果我從同一個域發送它會工作? –
如果url被設置爲回答這樣的請求並且請求已被認證並被授權進行,則對於來自相同域下的頁面的url的DELETE請求應該成功。換句話說,*它應該工作* ,但我在這裏假設你或某人採取了預防措施,以確保事物的設置能夠發揮作用。此API是否已經過驗證可與其他客戶合作?您的請求是否真的擁有API所需的一切?等等 – JayC
這個問題添加條目中的最佳解決方案仍然沒有得到解決,如果任何人都可以幫助我也試過xmlHttpRequest,但仍顯示選項url –