Глядя на исходный код jQuery, все это $.getJSON
делает:
getJSON: function( url, data, callback ) {
return jQuery.get(url, data, callback, "json");
},
И это все, что делает $.get
:
get: function( url, data, callback, type ) {
// shift arguments if data argument was omitted
if ( jQuery.isFunction( data ) ) {
callback = data;
data = null;
}
return jQuery.ajax({
type: "GET",
url: url,
data: data,
success: callback,
dataType: type
});
},
Там нет черной магии. Так как вам нужно настроить что-то кроме базовой $.getJSON
функциональности, вы можете просто использовать низкоуровневую функцию $.ajax
и передать асинхронную опцию как ложное:
$.ajax({
type: 'GET',
url: 'whatever',
dataType: 'json',
success: function() { },
data: {},
async: false
});