本地主机上的客户端和服务器时的CORS?
Posted
技术标签:
【中文标题】本地主机上的客户端和服务器时的CORS?【英文标题】:CORS when both client & server are localhost? 【发布时间】:2014-05-29 06:56:57 【问题描述】:我正在尝试使用 AngluarJS 和 php 开发一个客户端/服务器应用程序(这可能是 AJAX,因为它只处理 HTTP GET 并且从不实际在浏览器中显示页面)。
我使用 XAMPP Apache 作为我的本地主机并在 Brackets IDE 中开发客户端。 Brackets 在本地主机端口 49883 上运行“实时预览”。
[更新] 每次重启后它都会选择一个新端口,所以如果我想让我的 Apache 与之对齐,那么我在每次重启后手动编辑配置(ick)。
当我尝试$http.get('http://127.0.0.1/my_script.php?action=overview_map&date=2014-04-12&user=abc')
调试控制台显示。
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:49833' is therefore not allowed access.
我该如何解决这个问题?
我将这一行放在我的 Windows 主机文件 127.0.0.1 test_site
和我的 PHP 中header('Access-Control-Allow-Origin: test_site'
但我仍然得到 The 'Access-Control-Allow-Origin' header contains the invalid value 'test_site'.
也许有一些方法可以让 Brackets 使用 --disable-web-security
选项启动 Chrome,从而完全没有 CORS 问题?
或者其他(免费)IDE 可以处理这个问题?
这对我来说是全新的,但肯定有很多很多其他人在本地主机上使用客户端和服务器(最好使用 JS 和 PHP)进行开发。你是怎么做到的?
提前感谢您的帮助。
【问题讨论】:
【参考方案1】:您正在使用不同的端口。它受 CORS 约束。
【讨论】:
+1 谢谢,@Miraage。那么,如果我将我的 Apache 更改为侦听端口 49833 和 80,它应该可以工作吗? XHR 很可能会发送 OPTIONS 请求,该请求应响应标头“Access-Control-Allow-Origin: *”或“Access-Control-Allow-Origin: yourhost:49833”。以上是关于本地主机上的客户端和服务器时的CORS?的主要内容,如果未能解决你的问题,请参考以下文章
从 angularjs 调用 REST 服务时本地主机上的 CORS 问题
Java 聊天程序在本地主机上工作,但在 Heroku 上托管时不能
本地主机上的 Access-Control-Allow-Origin(Laravel 和 Vue)CORS CORS 错误