[英]jQuery Cross Domain Post in IE with Data
CORS在我的應用程序中完美適用於Chrome,Firefox。 使用此插件https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest
我能夠在IE中獲得CORS請求,如下所示:
$.ajax({
url: url,
type:"POST",
dataType: "json"
});
但是,當我嘗試在POST請求中發送數據時,例如:
$.ajax({
url: url,
type:"POST",
dataType: "json",
data: {test: 5}
});
這是行不通的。 有沒有人設法讓IE發出包含POST數據的CORS請求?
謝謝!
我注意到在jQuery-ajaxTransport-XDomainRequest源代碼中,傳遞userOptions.data的send函數調用被注釋掉了,並且活動的send()調用沒有參數:
我遇到了與POST相同的問題,沒有數據進入服務器。 所以我將數據調用發送取消注釋為:
xdr.send(userOptions.data);
//xdr.send();
但它仍然沒有發送數據。 所以我將類型從'POST'更改為'GET並更新了我的服務器代碼來處理它。 那真的有用了! 我沒有做更多的測試,我不確定GET是否可以接受我正在開發的代碼。
更新:我進一步測試並使用send()或send(userOptions.data)似乎對IE沒有任何影響。 正是對GET的更改使其工作,因此如果必須在ajax代碼中使用POST,則POST仍然是一個問題。
由於我是跨域ajax數據發布的新手(IE是問題),我希望其他人會發布他們的發現,所以它適用於POST和GET。 感謝你的幫助!
jQuery-ajaxTransport-XDomainRequest實現,至少從今天開始,在幾個方面存在缺陷 ,特別是它不會在POST中發送任何數據。 我建議使用這個插件,而不是我們已經有了很好的結果: https : //github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js
我還建議閱讀這篇文章,它解釋了微軟實施XDomainRequest的所有缺陷和局限: http : //blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and- workarounds.aspx
另請參閱此主題以獲取相同主題的帖子: 在IE8 / 9中使用jQuery和XDomainRequest的CORS
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.