我正在一个平台上对我自己的服务器进行ajax调用,他们设置了阻止这些ajax调用(但我需要它从我的服务器获取数据,以显示从我的服务器的数据库中获取的数据)。
我的ajax脚本正在工作,它可以将数据发送到我的服务器上,让它进行处理。
但是它不能把处理过的数据拿回来,因为它被"Access-Control-Allow-Origin"
阻止了。
我无法访问该平台的源码/核心。所以我无法删除不允许我这样做的脚本。 (P/S 我使用谷歌浏览器的控制台,发现了这个错误)
Ajax代码如下所示。
$.ajax({
type: "GET",
url: "http://example.com/retrieve.php",
data: "id=" + id + "&url=" + url,
dataType: 'json',
cache: false,
success: function(data)
{
var friend = data[1];
var blog = data[2];
$('#user').html("<b>Friends: </b>"+friend+"<b><br> Blogs: </b>"+blog);
}
});
还是有一个`JSON'等同于上面的Ajax脚本的代码? 我认为 "JSON "是允许的。
我希望有人能帮助我。
我已经在调用MVC3控制器时解决了这个问题。 我添加了。
Response.AddHeader("Access-Control-Allow-Origin", "*");
在我的
return Json(model, JsonRequestBehavior.AllowGet);
还有,我的$.ajax
抱怨说它不接受ajax调用中的Content-type头,所以我把它注释掉了,因为我知道它的JSON被传递到Action。
希望这有帮助。