【问题标题】:Access-Control-Allow-Origin by same domain?同一个域的访问控制允许来源?
【发布时间】:2013-05-08 06:45:14
【问题描述】:
XMLHttpRequest cannot load http://server.chatcoding.net:8000/socket.io/
socket.io.js.
Origin http://www.chatcoding.net is not allowed by Access-Control-Allow-Origin. 

那是阻止套接字脚本加载。这里发生了什么? 它仍在同一个域中,但为什么会发出该错误?

有人吗?谢谢你。 :)

【问题讨论】:

  • 不在同一个域,也不在同一个端口。

标签: javascript html socket.io


【解决方案1】:

您在同一个域中,但端口不同(80 和 8000;source)。然后应用跨域策略。尝试像这样设置您的响应标头:

response.setHeader("Access-Control-Allow-Origin", "*")

【讨论】:

    【解决方案2】:

    请检查您的服务器上是否启用了 CORS。 有关如何启用它的帮助,请参阅http://enable-cors.org/server.html

    亲切的问候

    【讨论】:

      【解决方案3】:

      看起来像一个子域问题。您需要检查谁在请求您的页面,如果他们被允许(例如任何子域),请发送标头。

      我用这个来回答这个问题:https://stackoverflow.com/a/9737907/1215393

      【讨论】:

      • 感谢您的回答,但似乎已通过创建名为 server.www.chatcoding.net 的子域解决了该问题。不过很奇怪。
      • @JoshuaLangit123 哇。这是新的。
      【解决方案4】:

      server.chatcoding.netwww.chatcoding.net 基本上是两个不同的域(但子域相同)。

      【讨论】:

        猜你喜欢
        • 2010-12-11
        相关资源
        最近更新 更多