【问题标题】:CORS when both client & server are localhost?本地主机上的客户端和服务器时的CORS?
【发布时间】: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)进行开发。你是怎么做到的?

提前感谢您的帮助。

【问题讨论】:

    标签: javascript php angularjs google-chrome cors


    【解决方案1】:

    您正在使用不同的端口。它受 CORS 约束。

    【讨论】:

    • +1 谢谢,@Miraage。那么,如果我将我的 Apache 更改为侦听端口 49833 和 80,它应该可以工作吗?
    • XHR 很可能会发送 OPTIONS 请求,该请求应响应标头“Access-Control-Allow-Origin: *”或“Access-Control-Allow-Origin: yourhost:49833”。
    猜你喜欢
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    相关资源
    最近更新 更多