Укажите параметр обратного вызова с помощью JQuery.getJSON. - PullRequest
2 голосов
/ 09 марта 2011

Есть ли способ указать значение параметра обратного вызова при использовании метода getJSON JQuery?

Например:

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

Генерирует следующий URL:

content?callback=jQuery15108431726952168015_1299633045933&_=1299633046552

Параметр здесь генерируется библиотекой случайным образом.

Я хотел бы указать свой собственный параметр обратного вызова.

Я хотел бы использовать один и тот же параметр обратного вызова для каждого запроса, чтобы я могагрессивно кэшировать ответ.

Ответы [ 2 ]

9 голосов
/ 09 марта 2011

Вы должны быть хотя бы на jQuery 1.5, чтобы это работало.

// The URL generated is "/content?callback=myCallback"
$.ajax({
  url: '/content?callback=?',
  dataType: 'jsonp',
  jsonpCallback: 'myCallback',
  cache: true,
  success: function(data) {}
});
1 голос
/ 09 марта 2011

Все вспомогательные функции jQuery ajax - это просто оболочки для $ .ajax.

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

Почему бы не создать собственную удобную упаковку?

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