我正在使用$.getJSON
从远程服务器获取一些数据。请注意,我无法控制JSON的格式或返回方式。我正在使用此代码:
$(function(){
var API = "https://ratesjson.fxcm.com/DataDisplayer?jsoncallback=?";
$.getJSON(API, function(json) {
var Symbol = json.results[0].Symbol;
console.log('Symbol : ' + Symbol);
});
});
我在控制台中收到此错误:
未捕获的TypeError:null不是函数
我已经看了JSON,我可以看到在对象之前有包含Null
的字符串。有什么方法吗?您可以在此处查看JSON及其错误:https://ratesjson.fxcm.com/DataDisplayer
答案 0 :(得分:1)
您正在调用的API会返回JSONP而不是JSON,因此您最好使用$.ajax
并提供相关参数。试试这个:
var API = "https://ratesjson.fxcm.com/DataDisplayer";
$.ajax({
url: API,
dataType: 'jsonp',
crossDomain: true,
success: function(json) {
console.log(json);
}
});
答案 1 :(得分:0)
尝试在$ .get()上使用$ .ajax()。它使您可以完全控制您的ajax请求。 见下面的例子。
var request = $.ajax({
url: "https://ratesjson.fxcm.com/DataDisplayer?jsoncallback=?",
method: "POST",
data: { id : '1' },
dataType: "html"
});
request.done(function( msg ) {
$( "#log" ).html( msg );
});
request.fail(function( jqXHR, textStatus ) {
alert( "Request failed: " + textStatus );
});
更多细节: [Jquery教程] http://api.jquery.com/jQuery.ajax/