Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2017, 19:00
Интересующийся
Отправить личное сообщение для enselerizer Посмотреть профиль Найти все сообщения от enselerizer
 
Регистрация: 19.04.2013
Сообщений: 13

Return для функции из подфункции
Здравствуйте!
Имею вот такой код:
function ajaxLoadElements(obj) {
	$.ajax({
	  dataType: 'json',
	  url: 'ajax.php?action=ajaxLoadElements',
	  success: function(JSONdata){
		if(JSONdata.fail) {
			openModal(JSONdata.type, JSONdata.msg);	
			return false;
		}
	  }
	});
	return true;
}

Return, расположенный в function(JSONdata){ ... }, что логично, завершает именно эту функцию, а не функцию ajaxLoadElements. А как сделать правильно?

Заранее благодарен за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2017, 19:15
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Можно сделать запрос синхронным, что на моей практике никогда не использовалось. Страница зависает, дожидаясь ответа сервера.
function ajaxLoadElements(obj) {
  var response = $.ajax({
    dataType: 'json',
    url: 'ajax.php?action=ajaxLoadElements',
    async: false
  }).responseText;

  if (!response)
    return false;
  return true;
}


Сообщение от enselerizer
А как сделать правильно?
Через асинхронную природу js с использованием коллбэка, чтобы получить значение из функции.
function ajaxLoadElements(obj, callback) {
  $.ajax({
    dataType: 'json',
    url: 'ajax.php?action=ajaxLoadElements',
    success: function(JSONdata){
      if(JSONdata.fail) {
        openModal(JSONdata.type, JSONdata.msg); 
        callback(false);
        return;
      }
      callback(true);
    }
  });
}
ajaxLoadElements({}, function(response) {
  if (response) alert();
});
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2017, 19:37
Интересующийся
Отправить личное сообщение для enselerizer Посмотреть профиль Найти все сообщения от enselerizer
 
Регистрация: 19.04.2013
Сообщений: 13

Rasy, спасибо огромное!
Вопрос закрыт
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшая JavaScript библиотека в jQuery стиле включающая собственные функции Rise Ваши сайты и скрипты 0 24.12.2016 06:08
Анимация для движения блока вниз и вверх snovapavel jQuery 9 24.12.2015 23:12
Воздействие функции только для первого элемента набора Иззет jQuery 2 13.10.2015 13:03
Как заставить JS обрабатывать функции для всех блоков с заданным классом? GTX14 Общие вопросы Javascript 1 04.04.2015 16:12
поиск классов внутри тега yozuul jQuery 24 14.06.2013 22:00