我正在开发一个AngularJS网络应用程序,并通过在本地运行应用程序进行测试,例如:它不在服务器上。我一直遇到以下错误:
跨源请求被阻止:同源策略不允许在(原因:CORS标题'访问控制 - 允许 - 来源'缺失)读取远程资源.1(未知)
我的SO研究告诉我这是服务器端的错误,但我已成功从我在模拟器中运行的iOS应用程序中获取数据,并成功使用了Postman。
根据建议,我通过http-server运行应用程序。同样的问题。
我添加了一个具有相同结果的简单测试用例:
Ionic
这完全令人费解。
答案 0 :(得分:1)
基于此评论:
我正在开发一个AngularJS网络应用程序,我正在通过在本地运行应用程序进行测试,例如它不在服务器上
然后,这是不起作用的原因是显而易见的:如果你没有从网络服务器运行javascript,你不能默认使用大多数现代浏览器在Javascript中对服务器进行异步调用(http://而不是file:/// )。这是一种内置于几乎所有浏览器中的安全措施。您可以通过使用某些标志启动浏览器来解决这个问题;例如,使用Chrome,您可以从命令行@Component({
providers: [
Dependency1,
Dependency2,
Dependency3
]
})
class MyComponent {
\\ [...]
但是,建议您只从Web服务器运行javascript。这非常简单,您可以使用节点包http-server或Python SimpleHTTPServer直接从它们所在的目录提供文件。