我有两个页面(A和B),它们是使用django + jquery编写的。他们的网址是:
http://127.0.0.1:8081/temp1/ (pageA)
http://127.0.0.1:8082/temp2/ (pageB)
我想使用ajax()在页面A的js脚本中抓取页面B,而js脚本是:
$("#tmp_button1").click(function(tmp_event) {
$.ajax({
url: "http://127.0.0.1:8082/temp2/",
async: false,
headers: {
"Access-Control-Allow-Origin" : "*"
},
error: function(request, error) {
alert(error);
},
success: function(response) {
alert(response);
}
});
});
不幸的是,我无法抓取页面B.这是一个跨域操作吗?如果我想使用jquery抓取页面B,我该怎么办?
任何帮助将不胜感激!
答案 0 :(得分:1)
端口不同,因此您的服务器(请求目标服务器)需要允许跨域请求 只需发送此标题:
Access-Control-Allow-Origin: *
E.g。 for PHP(http://enable-cors.org/server_php.html):
header("Access-Control-Allow-Origin: *");
或使用.htaccess(http://enable-cors.org/server_apache.html):
Header set Access-Control-Allow-Origin "*"
更多信息以及如何:http://enable-cors.org/server.html
您也可以使用JSONP。 这里的示例(可能有帮助):JSONP web service with python
答案 1 :(得分:0)
由于源政策相同,您无法做到这一点。 由于端口号不同,因此页面 A 和页面 B 来自不同的域。
检查Jsonp:http://en.wikipedia.org/wiki/JSONP这可能是解决方案。