jQuery JSONP“没有方法'json'”解析错误

时间:2012-05-07 21:40:59

标签: jquery jsonp

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

  

未捕获TypeError:对象函数(响应){             responseContainer = [response];没有方法'json'

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

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

以下是发出请求的代码:

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

答案:

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

jsonpCallback: 'json'

1 个答案:

答案 0 :(得分:2)

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

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

禁用jQuery自动回调功能,或者只创建一个名为json()的空链式函数