解释:
我有一个运行在apache服务器上的小型web应用程序,它使用javascript来执行一些XHR的操作。很长一段时间以来,它没有问题,现在所有的XHR都停止工作了,但只在本地主机上运行,如果您从外部访问它,它就能正常工作。
问题:
使用mozilla firefox,firebug警告:
“跨源请求被阻止:相同的原产地策略不允许在
http://127.0.0.1:3581/datasnap/rest/TdssMloteamento/getLoteamento/true/上读取远程资源。这可以通过将资源移动到相同的域或启用CORS来解决。”
但我正在本地主机上访问一个本地内容,该本地内容让XHR在同一台机器上调用本地数据web服务器,然后恢复,在本地运行,然后从web上运行。
评论:
我正在访问url:http://127.0.0.1:3582/beeWebLoteamento/Principal.php中的apache网页
这对我来说完全是,真的,怪异的,这是没有意义的,没有逻辑的,为什么我会得到一个跨域的错误,如果我是访问相同的域?
目标:
我想知道发生了什么,并解决这个问题,继续做我的XHR在本地和通过网络(外部)。
发布于 2014-09-10 18:31:36
我找到了解决办法/问题,即:
将所有127.0.0.1替换为192.168.25.100(即本地机器ip),一切正常工作,因此请求如下:
http://127.0.0.1:3581/datasnap/rest/TdssMloteamento/getLoteamento/true/
并成为:
http://192.168.25.100:3581/datasnap/rest/TdssMloteamento/getLoteamento/true/
我在URL中访问了我的web应用程序(apache):
http://192.168.25.100:3582/beeWebLoteamento/Principal.php
恢复:
为了避免这些跨域问题,请使用“通常以192.168.xxx.xxx开头”的机器的本地ip地址来访问它上承载的所有内容,或者使用Apache,而不是使用127.0.0.1或localhost。
发布于 2014-09-10 18:00:30
在后端脚本中尝试发送头access-control-allow-origin: *
https://stackoverflow.com/questions/25772001
复制相似问题