2016-01-26 41 views
0

嗨,我知道這是一個老問題。ExtJS發送關於跨域失敗的Ext.Ajax.request

我參考this但仍然無法正常工作。

瀏覽器顯示此錯誤消息:

的XMLHttpRequest無法加載目標URL。請求的資源上沒有「Access-Control-Allow-Origin」標題。 Origin'我的網址'因此不允許訪問。

這裏是我的代碼:

Ext.Ajax.request({ 
     url: 'target url', 
     method: 'POST', 
     cors: true, 
     useDefaultXhrHeader: false, 
     success: function() { 
      alert('success'); 
     }, 
     failure: function() { 
      alert('failure'); 
     } 
    }); 
+1

聽起來像服務器端問題 –

回答

0

到解決問題的關鍵是隱藏在普通視圖中您refered到後的第一線;讓我引用它:

後臺發送Access-Control-Allow-Origin: *正確

那麼,你的瀏覽器指出您的後端沒有做到這一點:

否「訪問控制允許來源'標題出現在請求的資源上

問題是,瀏覽器不允許您的代碼訪問anythi它想要的。服務器必須主動讓你的頁面讀取json數據。服務器可以通過相應地設置Access-Control-Allow-Origin標題來指示這一點(例如,如果它想要允許你的站點爲target url,或者爲*作爲通配符)。

如果你不能找到一個解決方案來自己在你的後端添加這樣的頭文件,你可以創建一個包含你使用的後端細節的新問題。

+0

謝謝亞歷山大。我通過jsonp使用jquery併成功獲取json數據。我會嘗試Ext.data.JsonP來訪問網頁。 –