Как вернуть значение 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 и присвоить переменной? |
Цитата:
|
Слишком много косяков, чтоб что-то объяснять, юзай 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) })(); // конец глобальной обёртки |
Часовой пояс GMT +3, время: 19:44. |