【发布时间】:2017-05-23 21:09:55
【问题描述】:
我正在尝试发出以下 ajax 请求:
$.ajax({
method: "GET",
url: http://google.com,
dataType: "json",
async: false,
cache: false,
success: function(data) {
alert("AJAX call successfully
completed");}});
但正如预期的那样,我收到“跨源”错误。有什么方法可以绕过这种安全性并在没有此错误的情况下进行 ajax 调用,即使 ajax 调用是从不同的域进行的。
感谢任何回应。
【问题讨论】:
-
是的,使用代理服务器。在您的域中创建一个服务器/api并向该服务器发出请求,服务器将获取跨域数据并将您发送回
-
不更改您尝试查询的服务器(我认为它不是 Google) - 不。您可以查看 JSONP 请求是否由他们处理,否则您将不走运,除非您可以让他们打开跨域策略。 @PriyeshKumar 的建议可能会奏效 - 但感觉非常卑鄙。
-
@thebluefox 对,!。制作小 api 几乎不需要 25 行 ^_^
-
@PriyeshKumar - 我没有说这很难,或者会创建很多代码。我说这是不正当的 - 如果一个网站不提供 API,并且不允许跨域请求 - 那么很明显他们不希望以这种方式使用他们的服务。
标签: cross-domain