2015-10-21 29 views
0

我試圖消費第三方的迴應。它在IE中運行良好,但不適用於Chrome,Firefox或我的移動瀏覽器。我谷歌和嘗試了一些代碼,但仍面臨同樣的問題。我知道它的CORS錯誤,並且有很多引用或教程可用,我想知道爲什麼我的代碼不工作,錯誤是什麼?設置CORS標頭在Chrome,Firefox或手機瀏覽器中不起作用

var xhr = new XMLHttpRequest(); 
     xhr.open("GET", "http://api.<third_party_sitename>.com/json/feeds?system=" + abc); 
     xhr.setRequestHeader("Access-Control-Allow-Origin", "*"); 
     xhr.setRequestHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, HEAD"); 
     xhr.setRequestHeader("Access-Control-Allow-Headers", "X-Requested-With"); 
     xhr.setRequestHeader("Access-Control-Max-Age", "1728000"); 
     //xhr.setRequestHeader("Connection", "Keep-Alive"); 
     xhr.setRequestHeader("Content-Type", "application/json"); 
     xhr.onreadystatechange = function() { 
      if (this.readyState == 4) { 
       var datax = JSON.stringify(this.responseText); 
       var jsonObj = jQuery.parseJSON(datax); 

       displayPin(jsonObj); 

      } 
     }; 
     xhr.send(null); 

回答

2

Access-Control-Allow-Origin和CO 響應頭。您提出請求的服務器(api.<third_party_sitename>.com)必須將它們設置爲響應

它們不是請求標題。您的JavaScript無法授予自己從任意第三方網站讀取數據的權限。

+0

但它在IE11中工作,我測試了它 – raj

+0

這應該是不可能的,除非測試的其他條件也改變了。 – Quentin

+0

是的,它在IE11的桌面版上運行平穩 – raj

相關問題