2013-11-21 75 views
0

我決定使用Dart在WebApp上工作以瞭解它並希望看到它的傳播。我今天面臨的問題如下:沒有服務器控制的跨域請求

我使用HttpRequest進行跨域請求,並且由於api沒有發送'Access-Control-Allow-Origin'頭,我最終出現了一個錯誤:

XMLHttpRequest cannot load https://api.eveonline.com/account/APIKeyInfo.xml.aspx?keyID=vide&vCode=vide&. No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://127.0.0.1:3030' is therefore not allowed access. 
Instance of '[email protected]' 

我發現了一些與此問題有關的問題,但沒有真正的解決方案。我不想使用服務器端應用程序作爲代理。我讀了jquery有一個解決方案,允許在響應中沒有「Control-Allow-Origin」的情況下進行跨域請求,但如果可能的話,我寧願不使用jquery。

如果您有任何人有解決方案或線索有哪裏尋找一個將是偉大的!

編輯:我終於在PHP中建立了一個小型代理,即使我更喜歡更「dartian」的解決方案。 Thx的答案。

回答

1

也許這是你在找什麼http://pub.dartlang.org/packages/jsonp

+0

我發現,但看起來有點哈克。如果它真的是唯一的方法去做,但我不會這樣做。無論如何。 – Driky

+0

另一種可能性: https://groups.google.com/a/dartlang.org/forum/#!topic/misc/8m_IifbV26w –

1

在DART的官方文檔,2種方法都提到了跨域資源訪問。

一個是設置CORS標題。如果你可以控制服務器端,設置CORS頭是最方便的。

另一個是使用JSONP。但正如你所說,這太有點太過分了。