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

最善の策は、Google の API からリモートの結果を返すだけの REST/JSON サービスを独自の Web サーバー上に作成することです。

そうすれば、クロスドメインの問題が回避され、API の将来の変更をより詳細に制御できます (たとえば、コンテンツを自分の悪意のある用途に合わせて再フォーマットできます:))。

于 2013-09-13T13:38:10.300 に答える