使用JQuery.getJSON指定回调参数

时间:2011-03-09 01:22:34

标签: jquery json jsonp

使用JQuery的getJSON方法时,有没有办法指定回调参数的值?

例如:

$.getJSON('/content?callback=?', function(data) {});

生成以下网址:

content?callback=jQuery15108431726952168015_1299633045933&_=1299633046552

此处的参数由库随机生成。

我想指定自己的回调参数。

我想为每个请求使用相同的回调参数,因此我可以积极地缓存响应。

2 个答案:

答案 0 :(得分:9)

你需要至少使用jQuery 1.5来实现这个目的。

// The URL generated is "/content?callback=myCallback"
$.ajax({
  url: '/content?callback=?',
  dataType: 'jsonp',
  jsonpCallback: 'myCallback',
  cache: true,
  success: function(data) {}
});

答案 1 :(得分:1)

所有jQuery的ajax便利函数都只是$ .ajax的包装。

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

为什么不创建自己的便利包装?

function fetchJSON(url, data, callback) {
    return jQuery.get(url, data, callback, "json");
}