如何在没有CORS的Dart编辑器中调试客户端dart代码

时间:2013-06-05 11:56:58

标签: dart cors dart-editor dartium

我有一个服务器/客户端项目,都是用dart编写的。现在我的服务器在端口1337上启动,当我使用Run in dartium运行客户端时,我的静态文件在端口3030上提供,这允许我在Dart编辑器中调试我的客户端代码。

问题是,在使用CORS调用时,这会导致AJAX。我已正确设置我的服务器以接受其他来源(使用Access-Control-Allow-Origin),但是,例如,Cookie不会一起发送。

现在我想知道:有没有办法用我的服务器(在1337上运行)提供我的文件,并且仍然可以在dart编辑器中调试客户端代码?

1 个答案:

答案 0 :(得分:4)

我的理解是您可以调试,但真正的问题是由于缺少cookie而无法从服务器获得预期的数据。

默认情况下,标准CORS请求不会发送或设置任何cookie。

为了将cookie作为请求的一部分包含在内,除了设置服务器之外,还需要指定withCredentials属性,例如:

HttpRequest.getString(url, withCredentials:true)...

您还需要设置服务器以提供Access-Control-Allow-Credentials标题。

编辑:似乎另外一个问题是您不希望拥有2台服务器,每台服务器都为应用程序的不同部分提供服务。

在这种情况下,您可以配置DartEditor以启动URL而不是文件。转到Run > Manage Launches并添加使用指定的URL和源目录创建新的Dartium或Dart2JS启动。

另一种选择是选择Run > Remote Connection并附加到正在运行的浏览器或Dart VM实例。

警告:我没有尝试过这些选项,因此我无法告诉how stable they are