我有一台服务器/客户端的项目,都写在镖。 现在我的服务器开始在端口1337
,当我跑我的客户与Run in dartium
,我的静态文件供应端口3030
,让我调试我的客户端代码中达特编辑器。
问题是,这会导致CORS当使用AJAX调用。 我有正确设置我的服务器来接受其他来源(与Access-Control-Allow-Origin
),但是,例如,Cookie不会一起发送。
现在,我想知道:有没有办法来服务我的服务器(运行我的文件1337
)还是要调试镖编辑器的客户端代码的可能性?
我的理解是,你可以调试,但真正的问题是,你没有得到预期的数据从服务器返回由于缺少饼干。
标准CORS请求不发送或默认设置任何cookie。
为了包括饼干作为请求的一部分,除了设置服务器,您需要指定withCredentials
属性,例如:
HttpRequest.getString(url, withCredentials:true)...
您还需要设置服务器提供Access-Control-Allow-Credentials
头。
编辑:看来,更多的问题是,你不希望有2台服务器,应用程序的每个服务的不同部分。
在这种情况下,您可以配置DartEditor推出,而不是文件的URL。 转至Run > Manage Launches
,并添加创建一个新的Dartium或Dart2JS启动与指定的URL和源目录。
另一种选择是选择Run > Remote Connection
,并连接到浏览器或飞镖VM的运行实例。
警告:我还没有尝试过这些选项,所以我不能告诉如何稳定 他们 。