2012-07-04 26 views
5

我具有以下設置:獲取IE停止治療AJAX跨域,內部的iframe

www.domain1.com/page1/ - 使得AJAX POST請求www.domain1.com/page2/

www.domain1.com/page2/ - 返回JSON響應


www.domain2.com/page1/ - 在iframe中嵌入www.domain1.com/page1/


當我加載www.domain1.com/page1/ ajax請求,一切正常。當我在Chrome或Firefox中加載www.domain2.com/page1/時,www.domain1.com/page1/顯示在iframe中,並且ajax請求正常。

當我嘗試在IE7/IE8加載www.domain2.com/page1/,Ajax請求給出了禁止錯誤 - 它似乎是治療請求跨域和阻止它,即使該請求正在取得從www.domain1.com/page1/www.domain1.com/page2/

它在IE中正常工作時請求是GET,但不是POST。我如何讓IE停止將其視爲跨域,僅僅因爲整個流程包含在iframe中?

謝謝!

+0

可能會鬆動一點安全設置(可能啓用「在IFRAME中啓動程序和文件」) – t3hn00b

回答

2

jQuery v1.7.2將修復IE中的CORS,即使它不是真正的CORS,但IE認爲它是。
在您的JavaScript函數的開頭這個簡單的布爾應該解決這個行爲

$.support.cors = true; 

這適用於GET和POST。

+0

我們遇到了同樣的問題。將jQuery v1.7.1升級到v1.11.0(當前版本)這個伎倆。謝謝! – Lionel