2015-04-01 36 views
0

后,我建立与达特编辑器中的Web应用程序,并在Dartium测试时,一切是伟大的工作。我想在托管站点上测试它,所以我从工具菜单中运行了Pub Build。它看起来像创建了build文件夹并将所有内容都放在那里,包括我的.dart文件中的.js文件。当我运行通常所做的.html文件时,什么都没有发生。我查看了源代码,它仍然指向.dart文件,因此我将其更改为.js文件。仍然没有看到预期的结果。好像没有什么改变建筑飞镖应用

这是我第一次尝试运行达特VM之外的镖应用。我在某个地方错过了一步吗?没有真正找到任何这方面的文件。

+0

当你从DartEditor启动应用程序,然后将网址复制到浏览器或Firefox,会发生什么? – 2015-04-01 04:25:32

+0

当我在Chrome中运行它时,几乎所有的东西都能正常工作。在页面加载时发生更改的DOM正在运行。事件侦听器正在工作。唯一不起作用的是当我尝试为我的项目外部的站点使用GetString方法时返回错误。 – DuckyDisciple 2015-04-02 03:26:50

+0

从构建目录运行它时,浏览器控制台中是否有任何错误? – 2015-04-02 04:12:00

回答

0

如果试图从另一台服务器比你的页面是由加载一个获取资源,这台服务器需要返回CORS标头,否则您的浏览器拒绝抓取形成这个其他服务器。 这取决于您的服务器如何配置或添加。

见例如
- How do you add CORS headers in Redstone interceptor?
- CORS with Dart, how do I get it to work?

+0

你描述的问题很有意义,因为我试图从一个不同的站点上的API中提取数据,但我不确定我是否理解这个解决方案。它看起来像客户端向服务器发送请求,服务器添加标头,然后在响应返回给客户端之前,该请求继续到外部网站? – DuckyDisciple 2015-04-03 15:57:39

+0

老实说,我不明白为什么/如何提高安全性,但是如果JavaScript从不同于网页原点的站点获取资源,服务器需要允许它。它响应由浏览器缓存的CORS头文件。下次浏览器甚至不尝试发送请求时,CORS头文件不允许页面起始URL。如果您发布了发布请求,则会在实际发布请求(预检请求)之前发出额外请求,以检查CORS标头。如果他们不允许你的页面来源,那么发布请求本身根本就不是。 CORS还有更多。 – 2015-04-03 16:06:49

+0

...但不是我的专业领域。 – 2015-04-03 16:06:59