我有一个休息api(在django / python中开发),我在本地运行并希望在dart中开发一个简单的客户端应用程序。此客户端使用XMLHttpRequest与本地django开发服务器进行通信。问题是Dart编辑器中的默认运行配置启动它自己的Web服务器,而不是dartium或带有dart2js的系统浏览器。当我试图访问我的休息api时,哪一个都明显违反了交叉起源政策。
我想知道测试客户端/服务器通信的最佳设置是什么 - 我应该将我的rest api配置为代理:3030端口,它由dart编辑器使用并使用URL配置启动配置,或者是有一种方法可以告诉dart编辑器服务器发送一个“Access-Control-Allow-Origin”http头(这真的很酷),还是一些chrome启动参数来禁用XMLHttpRequests的跨源检查?
似乎是一个明显愚蠢的问题,但我没有找到(dart)文档或previous questions中描述的任何解决方案。
答案 0 :(得分:3)
在您的REST API的每个响应中添加了Access-Control-Allow-Origin: *
标头后(请不要忘记OPTIONS
请求 - 请参阅perlight request),您应该能够毫无问题地使用它XMLHttpRequest
并在同一台服务器上进行调试。
在开发中,您还可以使用--disable-web-security
选项启动Dartium(请参阅Disable same origin policy in Chrome)