jQuery JSONP "has no method 'json'"解析错误



我正在尝试使用 jQuery 1.7 进行 jsonp 调用,但是当调用返回时,我收到以下错误:

未捕获的类型错误: 对象函数 ( 响应 ) { 响应容器 = [ 响应 ]; } 没有方法 'json'

在检查返回的数据时,我注意到".json"被附加到回调函数名称中:

jQuery17206211688306648284_1336426518269.json({"..."})

下面是发出请求的代码:

$.ajax({
  url: "...",
  dataType: 'jsonp',
  success: function(data) {
    return console.log(data);
  }
});

答:

正如 adeneo 所说,服务器试图指定"json"的回调函数,这是通过在 $.ajax 调用上设置以下参数来处理的:

jsonpCallback: 'json'

jQuery的$.ajax函数会自动向jsonp请求添加一个回调函数,但看起来您看到的json()函数是由服务器添加的,但您可以尝试:

$.ajax({
  url: "...",
  dataType: 'jsonp',
  jsonp: false,
  success: function(data) {
    return console.log(data);
  }
});

禁用jQuery自动回调的事情,或者只是创建一个名为json()的空可链接函数

最新更新