0

我已经搜索了一段时间,无法弄清楚为什么我没有得到 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"]] 
4

1 回答 1

0

您可以尝试$.getJSON()

http://api.jquery.com/jQuery.getJSON/

描述:使用 GET HTTP 请求从服务器加载 JSON 编码的数据。

如果 URL 包含字符串“callback=?” (或类似的,由服务器端 API 定义),请求被视为 JSONP。有关详细信息,请参阅 $.ajax() 中对 jsonp 数据类型的讨论。

或切换到 dataType JSONP:

$.ajax({
  url: url,
  dataType: 'jsonp',
  data: data,
  success: callback
});

“jsonp”:使用 JSONP 加载到 JSON 块中。添加一个额外的“?callback =?” 到 URL 的末尾以指定回调。

于 2012-06-25T12:47:59.030 回答