2012-02-16 39 views
0

我需要從另一個域的服務加載一些xml數據。如果我使用ajax請求,我會得到「Origin-null不被Access-Control-Allow-Origin允許。」。 我試圖使用存儲與scriptag代理和XML閱讀器,但我得到未捕獲的SyntaxError:意外的標記< v如何從另一個域加載xml數據

var myStore = new Ext.data.Store({ 
     model: 'myModel', 
     proxy: { 
      type: 'scripttag', 
      url : url, 
      reader: { 
       type: 'xml', 
       root: 'users' 
      } 
     }, 
     autoLoad: true 
    }); 

問題:從另一個域加載XML數據如何使用煎茶或其他JavaScript庫。

+0

你有控制發送XML的後端嗎?如果沒有,你不能這樣做...... – ManseUK 2012-02-16 14:40:39

+0

不,我沒有訪問 – 2012-02-16 14:44:33

+0

如果你能控制html服務的域/服務器,你可以在該web服務器上設置一個代理。 – ironchefpython 2012-02-16 15:38:46

回答

1

1)如果您有權訪問後端,您可以啓用跨源資源共享(CORS): how to do it。它將允許您從另一個域獲取xml數據。

2)如果沒有你可以用YQL(但它看起來像骯髒的黑客):here

3)無論如何,當你將運行在移動設備應用程序這個問題就會消失。

4)如果你想找到解決方案在桌面瀏覽器上測試你的應用程序,我建議你使用chrome。因爲有禁用此安全限制方式:

chrome.exe --disable-web-security 

5),最後一個技巧是找到JSON服務,因爲JSONP請求沒有這樣的問題。

相關問題