1

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

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

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

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

这是发出请求的代码:

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

回答:

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

jsonpCallback: 'json'
4

1 回答 1

2

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

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

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

于 2012-05-07T22:03:53.317 回答