同一域上的XHR跨域错误(localhost)

时间:2014-09-10 17:56:37

标签: javascript ajax apache xmlhttprequest cross-domain

说明:

我在一台机器上的apache服务器上运行了一个小型Web应用程序,该机器使用javascript来执行某些XHR。很长一段时间没有任何问题,今天所有XHR都停止工作,但只在本地主机上,如果从外部访问它,它可以很好地工作。

问题:

使用mozilla firefox,firebug警告:

  
    

"阻止跨源请求:同源策略禁止在http://127.0.0.1:3581/datasnap/rest/TdssMloteamento/getLoteamento/true/读取远程资源。这可以通过将资源移动到同一域或启用CORS来解决。"

  

但是我在本地主机上访问本地内容,该内容让XHR在同一台机器上调用本地数据删除服务器,恢复,本地失败,并从网络上运行。

评论:

我正在访问网址:http://127.0.0.1:3582/beeWebLoteamento/Principal.php

中的apache网页

这对我来说完全,真的,怪异,这只是没有意义,没有逻辑,为什么我在进入同一个域时会遇到跨域错误?

目的:

我想知道发生了什么并解决了这个问题,以便继续在本地和通过网络(外部)完成我的XHR。

2 个答案:

答案 0 :(得分:2)

我找到了解决方案/问题,即:

将所有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/

我在网址中访问了我的网络应用程序(apache):

  

http://192.168.25.100:3582/beeWebLoteamento/Principal.php

恢复:

要避免这些跨域问题,请使用机器的本地IP地址"通常以192.168.xxx.xxx"访问托管在其上的所有内容,XHR也不是Apache,而不是使用127.0.0.1localhost

答案 1 :(得分:0)

尝试在后端脚本中发送标头access-control-allow-origin: *