我正在嘗試向Google API發出ajax請求,以獲取當前匯率的JSON數據。jQuery Ajax請求獲取JSON數據觸發錯誤事件
我迄今爲止代碼:
$.ajax({
url: "http://www.google.com/ig/calculator?hl=de&q=1USD=?EUR"
}).done(function (data) {
var obj = $.parseJSON(data)
alert(data.rhs);
});
的鏈接,谷歌的API是http://www.google.com/ig/calculator?hl=de&q=1USD=?EUR
我的問題是,我的代碼不會觸發done
功能。
我知道缺少一些東西,也許有些參數?
UPDATE
這裏是我的新代碼,我在什麼地方找到:
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人有什麼建議嗎?
難道你看一下'ajax'甚至文檔? – 2013-03-05 11:41:11
我做了,但我感到困惑 – Ace 2013-03-05 11:41:38
'dataType:「json」'丟失。 – Jai 2013-03-05 11:42:12