Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.07.2022, 14:55
Аспирант
Отправить личное сообщение для Olga27 Посмотреть профиль Найти все сообщения от Olga27
 
Регистрация: 10.06.2021
Сообщений: 49

Как вернуть значение ajax в функции?
Мне нужно проверить сессию на стороне сервера и вернуть значение. Делаю я вот так:
var check_session = function(soc)
    {
        $.ajax({
               type: "POST",
               data: "action=sesstest&soc="+soc,
               url: "/action.php",
               dataType: "json",
               success: function(responce)
               {
                         
                      if(responce.result=="success")
                       {
                          sess = responce.messages;
		  return;
}
              }
        });
        

    }

Var sess = check_session(soc);

В итоге значение я получаю “undefined”. Хотя через console.log в success ajax переменная sess выводит значение. Значит данные передаются и получаются как вернуть значение функции полученные через ajax и присвоить переменной?
Ответить с цитированием
  #2 (permalink)  
Старый 09.07.2022, 16:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от Olga27
как вернуть значение функции
выкинуть переменную и запускать нужную функцию если result=="success"
Ответить с цитированием
  #3 (permalink)  
Старый 09.07.2022, 21:14
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,577

Слишком много косяков, чтоб что-то объяснять, юзай async и пиши как будто асинхронности нет.

;(async()=>{ // глобальная обёртка в начале всего скрипта

// async перед декларацией function
async function check_session(soc) {
  // await перед вызовом async function
  const responce = await $.ajax({
    type: "POST",
    data: "action=sesstest&soc="+soc,
    url: "/action.php",
    dataType: "json",
  });

  return responce.result === "success" && responce.messages;
}


  
// await перед вызовом async function
var sess = await check_session(soc)

  
  
  
})(); // конец глобальной обёртки
__________________
29375, 35

Последний раз редактировалось Aetae, 09.07.2022 в 21:17.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
async/await как получить вернуть значение из функции dpts Events/DOM/Window 7 02.04.2020 09:56
Как же правильно вызывать запрос Ajax в функции? izumov AJAX и COMET 2 18.05.2019 17:43
как получить результат от ajax запроса (из отдельного файла) 1Feniks1 AJAX и COMET 0 12.03.2017 18:45
как вернуть success (ajax) shaltay jQuery 3 20.01.2012 18:39
Как вернуть default значение элемента ? dimaan777 jQuery 3 15.02.2011 11:51