Jquery, Синхронный $.getJSON

Добрый день.
Подскажите, пожалуйста, возможно ли выполнить функцию $.getJSON синхронно?
$.ajaxSetup({ async: false }); не помогает
10 февраля в 10:26
2
iamsaint 2,9

отсортировано по дате по оценке
ответы (4)

0
Fesor #
Как-то лень думать, но думаю так будет работать:

var json = (function(data_url){
var result;
$.ajax({
async: false,
url: data_url,
dataType: 'json',
success: function®{
result = r;
}
});

return result;
})(url);
забыл обернуть тегом code, так что отступы исчезли, но думаю суть понятна. Хотя это не самый элегантный способ. Fesor, 10 февраля в 10:33
0
Zamorozka #
Из документации по jQuery пишут, что нет.

"
async

Default: true

… Cross-domain requests and dataType: «jsonp» requests do not support synchronous operation. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.
"

api.jquery.com/jQuery.ajax/
В таких случаях нужно использовать callback и в нем продолжать ход выполнения. Zamorozka, 10 февраля в 10:34
+3
himik #
$.ajax({
  url: url,
  dataType: 'json',
  async: false,
  data: data,
  success: callback
});
Именно, зачем извращаться дополнительными методами когда есть стандартный проверенный и понимающий все параметры прекрасно. taliban, 10 февраля в 12:03
0
MTonly #
Какую задачу вы хотите этим решить?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.