我有一个服务器/客户端项目,都是用dart编写的。现在我的服务器在端口1337
上启动,当我使用Run in dartium
运行客户端时,我的静态文件在端口3030
上提供,这允许我在Dart编辑器中调试我的客户端代码。
问题是,在使用CORS调用时,这会导致AJAX。我已正确设置我的服务器以接受其他来源(使用Access-Control-Allow-Origin
),但是,例如,Cookie不会一起发送。
现在我想知道:有没有办法用我的服务器(在1337
上运行)提供我的文件,并且仍然可以在dart编辑器中调试客户端代码?
答案 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。