我一直在搜索,但无法弄清楚为什么我没有得到ajax请求的响应对象:
$(document).ready(function(){
$.ajax({
type: 'GET',
dataType: 'script',
crossDomain: true,
url: 'http://api.netimpact.com/qv1.php?key='+apikey+'&qt=geoip&d=json&q='+userip,
success: function(jqXHR, textStatus) { //both parameters come in as undefined
console.log(jqXHR);
},
error: function(xhr, code){
console.log('error');
}
});
});
响应看起来像:
[["Tokyo","Tokyo","Japan","Open Computer Network","35.6850","139.7514","JP"]]
答案 0 :(得分:0)
您可以尝试使用$.getJSON()
:
http://api.jquery.com/jQuery.getJSON/
描述:使用GET HTTP请求从服务器加载JSON编码的数据。
如果网址包含字符串“callback =?” (或类似的,由服务器端API定义),请求被视为JSONP。有关更多详细信息,请参阅$ .ajax()中有关jsonp数据类型的讨论。
或切换到dataType JSONP:
$.ajax({
url: url,
dataType: 'jsonp',
data: data,
success: callback
});
“jsonp”:使用JSONP加载JSON块。添加额外的“?callback =?”到URL的末尾以指定回调。