現在の為替レートの JSON データを取得するために、Google API に ajax リクエストを送信しようとしています。
これまでの私のコード:
$.ajax({
url: "http://www.google.com/ig/calculator?hl=de&q=1USD=?EUR"
}).done( function ( data ) {
var obj = $.parseJSON( data )
alert( data.rhs );
});
Google API へのリンクはhttp://www.google.com/ig/calculator?hl=de&q=1USD=?EURです。
私の問題は、コードが関数を起動しないことdone
です。
私は何かが欠けていることを知っています.多分いくつかのパラメータですか?
アップデート
ここに私がどこかで見つけた私の新しいコードがあります:
function forex(val, from, to, callback) {
$.ajax({
url: 'http://www.google.com/ig/calculator?hl=en&q='+val+from+'%3D%3F'+to,
type: 'GET',
datatype: 'string',
success: function(data) {
var json = eval("(" + data+ ")"), output;
if (typeof json == 'object' && json.rhs) {
output = json.rhs.match(/[0-9.\s]+/ig);
output = output[0] || false;
} else {
output = data.match(/[0-9.\s]+/ig);
output = output[1] || false;
}
output = (output !== false) ? Number(output.replace(/\s/,'')) : output;
callback(output);
},
error: function() {
callback(false);
}
});
}
function output(data) {
alert( data );
$('#show_product_price_api').val(data);
}
しかし、私がこの機能を使用するとき:
forex(100, 'USD', 'EUR', output);
イベントを発生させるには、「FALSE」コールバックを取得します
なぜこのエラー関数が呼び出されるのか??
更新 2
私はそれがクロスドメインの問題だと思います.jsonpを使っている人はいますか?