我决定使用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 '_XMLHttpRequestProgressEvent@0x3918afae'
我发现了一些与该问题相关的问题,但没有真正的解决方案。我不想将服务器端应用程序用作代理。我读到jquery有一个解决方案,允许在响应中没有“Control-Allow-Origin”的跨域请求,但我宁愿不使用jquery。
如果你们中的任何人有解决方案或线索,那么哪里可以找到一个很棒的解决方案!
编辑:我终于在php中构建了一个小代理,即使我更喜欢更“dartian”的解决方案。谢谢答案。答案 0 :(得分:1)
答案 1 :(得分:1)
在Dart的官方文档中,提到了两种跨域资源访问方式。
一个是设置CORS标头。如果您可以控制服务器端,则设置CORS标头是最方便的。
另一个是使用JSONP。但正如你所说,它有点太hacky。
答案 2 :(得分:1)
请注意有一个漏洞:(9月1日至14日) https://code.google.com/p/dart/issues/detail?id=15992