2

我有一个 rest api(在 django/python 中开发),我在本地运行并想在 dart 中开发一个简单的客户端应用程序。此客户端使用 XMLHttpRequest 与本地 django 开发服务器通信。问题是 Dart 编辑器中的默认运行配置启动它自己的 Web 服务器,而不是 dartium 或带有 dart2js 的系统浏览器。当我尝试访问我的 rest api 时,这显然会违反跨源策略。

我想知道测试客户端/服务器通信的最佳设置是什么 - 我应该将我的 rest api 配置为代理飞镖编辑器使用的 :3030 端口并使用 URL 配置启动配置,还是有办法告诉 dart 编辑器服务器发送一个“Access-Control-Allow-Origin”http 标头(这真的很酷),或者一些 chrome 启动参数来禁用 XMLHttpRequests 的跨源检查?

似乎是一个明显愚蠢的问题,但我没有找到 (dart) 文档或此处以前的问题中描述的任何解决方案。

4

1 回答 1

3

一旦将Access-Control-Allow-Origin: *标头添加到您的 REST API 的每个响应中(不要忘记OPTIONS请求 - 请参阅perlight 请求),您应该能够毫无问题地使用它XMLHttpRequest并像在同一台服务器上一样进行调试。

在开发中,您还可以使用--disable-web-security选项启动 Dartium(请参阅禁用 Chrome 中的同源策略

于 2012-11-27T17:17:22.163 回答