在沒有傳遞任何數據參數時,我在jQuery中遇到了PUT和POST ajax CORS請求的奇怪問題。沒有數據參數的jQuery PUT/POST ajax CORS請求
所以我通過設置標題在我的服務器上啓用了CORS。一切工作正常,當我爲例子做:
$.ajax({
url: "http://127.0.0.1/R/index.html",
type: "PUT",
data: {foo:"bar"}
});
然而,當我做同樣的請求,而不設置data
參數,火狐返回而沒有張貼了ajax:
$.ajax({
url: "http://127.0.0.1/R/index.html",
type: "PUT"
});
請注意,這只是發生對於POST和PUT方法,當在請求中指定了完整的url時,並且沒有指定http數據參數。當url與頁面位於同一個域時也會發生(因此不需要CORS)。如果我只是在url中指定路徑,而不是完整的url,則不會發生這種情況。
任何線索我怎麼能做一個POST/PUT而不傳遞任何參數(我的服務器不會接受'假'參數)。
哪些CORS標頭是你設置:
它可以通過使用像這樣可以避免?設置數據:null發送請求嗎?你可以使用Wireshark來獲取實際的請求/響應頭文件嗎? – monsur 2012-03-21 18:06:34
根本沒有請求被髮送。它立即返回。我懷疑這可能是創建multipart/form-data字符串的函數中的一個錯誤。 – Jeroen 2012-03-21 18:37:16