同源策略错误,jQuery

时间:2013-05-22 08:32:16

标签: php jquery json http-post same-origin-policy

我正在开发Web服务的前端(html-jquery)和后端(php)。我正在使用XAMPP(Apache)在我的localhost中进行开发。我把我的前端和后端保留在eclipse上的不同项目中,只是为了让一切都更清洁。

但是,我需要从jQuery到php服务器进行ajax调用(Http Post请求)。我总是收到错误:XMLHttpRequest cannot load http://193.164.4.112/Server_CityInfo/whereSubscribed.php. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

我查看了错误,发现它与Same Origin Policy

有关

我还读到解决此错误的可能解决方案是使用CORS,JSONP或代理。但是,从错误的定义我明白,通过简单地将文件保存在同一目录中就可以解决问题吧?所以我所做的就是将所有前端文件移动到我的后端目录中,并尝试再次运行html页面来发出请求。

Boom!我再次得到同样的错误..我在这里做错了吗?现在不管它们在同一个目录中吗?

1 个答案:

答案 0 :(得分:1)

  

只需将文件保存在同一目录中即可解决问题

没有。它们必须位于相同的来源(协议,主机名,端口)。

你有:

http  193.164.4.112  80 (default for HTTP) 
http  localhost      80 (default for HTTP) 

193.164.4.112不是localhost所以您点击相同的原始政策。

193.164.4.112localhost可能会解析到同一台计算机,由同一个网络服务器处理,并提供相同的文件,但浏览器不知道这一点。网址必须匹配。