2013-06-18 93 views
0

在除IE以外的所有瀏覽器中都會執行請求。找不到這個問題的實際答案。 (如果你不發誓不好看)。我需要更改或添加什麼?我使用window.XDomainRequest,但它沒有幫助。IE中的跨域呼叫

我的要求:

$.ajax({ 
       type: "GET", 
       url: url, 
       crossDomain: true, 
       success: function(xml) { 
        processXml(xml, config); 
       }, 
       error: function(jqXhr, textStatus, errorThrown) { 
        var errorMsg = "Request on url: " + url + " failed: " + textStatus + " error:" + errorThrown; 
        alert(errorMsg); 
       } 
      }); 

回答

0

IE不完全支持CORS。它不支持使用withCredentials屬性發送CORS請求。僅當xhr對象中存在withCredentials屬性時,jQuery纔會支持跨域請求。

在IE中執行下面的代碼,你會得到'假'(不支持)。

alert(jQuery.support.cors); 

更新1:

似乎完全IE 10 supports它。解決方法:如果您在子域(foo.example.com - > blah.example.com)之間共享資源,則可以在iFrame中發起請求並使用Javascript same origin policy來共享該資源。

+0

我的請求在IE10中工作。但它必須工作,並在IE7 + –

+0

IE 7零CORS的支持。但是,如果你不想發送用戶憑證/ cookie。嘗試設置$ .support.cors = true ;.它將在IE 8和9中工作。 –

+0

這是工作!日Thnx! :) –