CORS标题' Access-Control-Allow-Origin' AngularJS Web App缺少

时间:2016-06-30 15:51:32

标签: javascript ios angularjs rest cors

我正在开发一个AngularJS网络应用程序,并通过在本地运行应用程序进行测试,例如:它不在服务器上。我一直遇到以下错误:

跨源请求被阻止:同源策略不允许在(原因:CORS标题'访问控制 - 允许 - 来源'缺失)读取远程资源.1(未知)

我的SO研究告诉我这是服务器端的错误,但我已成功从我在模拟器中运行的iOS应用程序中获取数据,并成功使用了Postman。

根据建议,我通过http-server运行应用程序。同样的问题。

我添加了一个具有相同结果的简单测试用例:

Ionic

这完全令人费解。

1 个答案:

答案 0 :(得分:1)

基于此评论:

  

我正在开发一个AngularJS网络应用程序,我正在通过在本地运行应用程序进行测试,例如它不在服务器上

然后,这是不起作用的原因是显而易见的:如果你没有从网络服务器运行javascript,你不能默认使用大多数现代浏览器在Javascript中对服务器进行异步调用(http://而不是file:/// )。这是一种内置于几乎所有浏览器中的安全措施。您可以通过使用某些标志启动浏览器来解决这个问题;例如,使用Chrome,您可以从命令行@Component({ providers: [ Dependency1, Dependency2, Dependency3 ] }) class MyComponent { \\ [...]

运行

但是,建议您只从Web服务器运行javascript。这非常简单,您可以使用节点包http-server或Python SimpleHTTPServer直接从它们所在的目录提供文件。