【发布时间】:2011-11-25 18:17:31
【问题描述】:
我正在一个平台上对我自己的服务器进行 ajax 调用,他们设置为阻止这些 ajax 调用(但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据)。
我的 ajax 脚本正在运行,它可以将数据发送到我的服务器的 php 脚本以允许它处理。
但是它无法取回处理过的数据,因为它被"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);
}
});
或者上面的 ajax 脚本是否有 JSON 等效代码?我认为JSON 是允许的。
希望有人能帮帮我。
【问题讨论】:
-
到目前为止,您的问题的所有答案都解释了一种重写服务器代码的方法,这样您的 ajax 就可以工作了。正如您在问题中特别询问的那样,它们都不是关于绕过的。你有没有发现实际上绕过这个标题?我真的怀疑会有一个。
-
没有办法通过它。但是您可以在执行请求的后端放置一个文件。因此,您在自己的服务器上调用每个 ajax 文件,该文件从retrieve.php 加载数据并将它们发送回您的javascript。在这种情况下,没有 CORS 规则阻止您。
-
安全 websocket 协议
wss://不受 CORS 阻塞。
标签: javascript php jquery ajax cors