jQuery 跨域 AJAX 请求失败,并显示 XMLHttpRequest 无法加载错误



我以为我做对了,但我在Chrome的JavaScript控制台中收到以下错误:

XMLHttpRequest cannot load https://www.google.com/ig/calculator?hl=en&q=1USD=?JPY. 
Origin  is not allowed by Access-Control-Allow-Origin. 

我尝试通过 JQuery 加载结果的任何方式都会引发此错误。

$.ajax({
    type: 'GET',
    url: 'https://www.google.com/ig/calculator?hl=en&q=1USD=?JPY',
    crossDomain: true
})
.fail(function() { alert('error'); })
.success(function(data) { alert(data); })
;
$.get('https://www.google.com/ig/calculator?hl=en&q=1USD=?JPY', function(data) {
    alert(data);
});
$("#test").load('https://www.google.com/ig/calculator?hl=en&q=1USD=?JPY', function(data) {
    alert(data);
});

即使将跨域指定为 true ,AJAX 调用仍然失败。

知道为什么或有更好的方法来检索结果吗?

谢谢。

最好的办法是在您自己的Web服务器上创建一个REST/JSON服务,该服务仅从Google的API返回远程结果。

这样就可以避免任何跨域问题,并且您可以更好地控制将来对 API 的更改(例如,您可以重新格式化内容以适应您自己的恶意用途:))。

相关内容

  • 没有找到相关文章