我剛剛從jQuery 1.3.2更新到1.4.3,並且在發出AJAX DELETE請求時看到一些新行爲。由於某種原因,傳遞給我的data
參數中的數據沒有被髮送到服務器。例如:
$.ajax({
url: '/example',
data: {id: 12},
type: 'DELETE'
});
最終發送一個DELETE請求到/example
,沒有額外的數據。但是,這種類型的呼叫通過參數就好了:
$.ajax({
url: '/example?id=12',
type: 'DELETE'
});
有沒有其他人看過類似的行爲?是否有這個原因不再有效的原因(即:是設計還是錯誤)?有關如何讓它工作的任何建議?
此外,如果有人想知道爲什麼我不想簡單地將參數作爲URL字符串的一部分傳遞,這是因爲我最終試圖使用$.ajaxSetup
回調,在那裏提供了一些常規參數(即用於防止在Rails中僞造的參數authenticity_token
)。在嘗試jQuery 1.4.3之前,這一切都運行良好。
謝謝,尼克。有關解決方法的任何建議?鑑於您的迴應,我試圖更新'$ .ajaxSend()'回調中的'settings.url',以便在DELETE請求中追加查詢字符串值;然而,它看起來像'settings.url'的返回值沒有捕獲用於jQuery 1.4.3,因爲它在1.3.2中。任何其他的想法處理這個,除了手動將相同的參數附加到我的代碼中的每一個單一的請求? – 2010-10-25 21:43:18
@Matt - 我覺得1.4.4很快就會發布bug修正版,看看這個提交一個小時之前的標籤1.4.4pre:http://github.com/jquery/jquery/commit/9b97599fa4d615a91d1605d9c664c50f576911ce我會說緊緊抓住幾天,抓住1.4.4的最後一刻,你們全都準備好了。這裏有一篇關於它的博客文章:http://blog.jquery.com/2010/10/24/community-updates-2610/ – 2010-10-25 21:48:56
不幸的截止日期迫使我現在處理這個問題。我想現在我會更新內聯的電話,並在幾天內重新構建這些電話。非常感謝您的洞察力,您在這裏總是非常有幫助! – 2010-10-25 21:52:32