0

我以为我做对了,但在 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);
});

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

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

谢谢。

4

1 回答 1

1

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

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

于 2013-09-13T13:38:10.300 回答