javascript - AngularJS 起源 http ://localhost:8080 is not allowed by Access-Control-Allow-Origin

标签 javascript php angularjs

我正在使用 AngularJS 开发一个 Web 应用程序。它包含一个管理界面,该界面依赖于另一个域上的 json-rpc API。

在我的本地环境中,如果我向 API 服务器发出请求(使用 AngularJS),我会在控制台浏览器中收到错误“Access-Control-Allow-Origin 不允许 Origin http://localhost:8080”。

我已经阅读了现代浏览器阻止对另一个域的请求的限制,但是...如果没有解决方案...我是否需要创建我的 Web 服务(使用一种后端语言:es: PHP或 Python)向 API Web 服务器发出请求,然后向其发出 AngularJS 请求?

为什么我的应用程序基础设施中需要另一个“Web 服务器”?

提前致谢。 F.

更新:我在这里阅读了有关 crossdomain.xml 文件的信息:http://www.adobe.com/devnet/adobe-media-server/articles/cross-domain-xml-for-streaming.html

这是否可以在某种程度上解决我的问题?

最佳答案

因为服务器在响应ajax请求时必须发送启用CORS的 header 。像这样的东西:

“访问控制允许来源”,“*”

“访问控制允许凭据”,true

“访问控制允许方法”、“POST、GET、PUT、DELETE、选项”

“访问控制允许 header ”、“内容类型”

但请详细了解 CORS 以保护您的服务器。 当您发送 ajax 通信时,当前的互联网浏览器会检查这些 header 。这是出于安全原因。

关于javascript - AngularJS 起源 http ://localhost:8080 is not allowed by Access-Control-Allow-Origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28120699/

相关文章:

php - MySQL 更新和动态多选

angularjs - 将 Content-type 更改为 "application/json"POST 方法,RESTful API

javascript - AngularJS 中的 jQuery .one() 等价于什么?

javascript - 我可以检测浏览器的网络事件是否处于空闲状态?

javascript - AngularJS在ng-repeat中调用函数来格式化日期字符串

php - 将文件存储到数据库中并将其上传到网页中

PHP CURL 下载文件

javascript - 测试 xml 中是否有空文本节点

javascript - 单击县旗时设置 cookie

javascript - 将字符串数组转换为对象 Javascript