|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.03.2021, 18:35 | #1 |
Пользователь
Регистрация: 08.03.2010
Сообщений: 48
|
Получить результат выполнения $.post запроса
Добрый день. Ребят, кто может внятно объяснить/показать как получить результат выполнения $.post запроса во внешний код
Код:
Только умоляю не надо объяснять ПОЧЕМУ так не работает, я до тошноты про это начитался, но КАК сделать чтобы ВНЕШНЯЯ переменная содержала ответ сервера ПОСЛЕ выполнения $.post запроса я так и не понял. Ниже идёт код, в котором мне нужно использовать эти данные, и я абсолютно не врубаюсь как так можно было сделать, что код, который ниже - выполняется раньше, чем тот, который выше. Либо как можно было не сделать ПРОСТОГО, сука П Р О С Т О Г О решения данного крышесноса, это же элементарная потребность получить результат выполнения функции. Кстати пробовал этот пост-запрос и в функцию оборачивать, вызов функции-то происходит-то не асинхронно(???) Целый день бьюсь, ПРОКЛИНАЮ РАЗРАБОТЧИКОВ ЯВАСКРИПТА!!! |
07.03.2021, 19:13 | #2 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Потому, что AJAX работает асинхронно. Результат запроса нужно получать и обрабатывать в callback функции.
|
07.03.2021, 19:41 | #3 |
Пользователь
Регистрация: 08.03.2010
Сообщений: 48
|
Хорошо, пусть простой вызов выполняется когда ему моча в голову стукнет, а как же тогда с функцией (если пост-запрос обернуть в функцию)? Функции же до их вызова не "работают" как он может вызываться асинхронно, если я функцию вызываю в определённом месте кода?
|
08.03.2021, 12:44 | #4 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Не вызывается, а выполняется асинхронно. Вы инициировали AJAX запрос где-то и он полетел на сервер в асинхронном режиме. То же самое будет и если Вы инициируете его внутри функции.
Или Вы хотите результат запроса вернуть в качестве значения функции? |
08.03.2021, 16:27 | #5 | ||
Пользователь
Регистрация: 08.03.2010
Сообщений: 48
|
Цитата:
Цитата:
Я пока что вместо $.post $.ajax использовал с async = false, но во-первых мне самому это не нравится (всё-же мало ли что может случиться, а страница в целом должна работать), а во-вторых все (любая статья) говорят, что это крайне не правильно, и к тому же где-то читал, что скоро вообще синхронные запросы запретят. |
||
09.03.2021, 10:40 | #6 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Цитата:
Попробуйте поиграться с async/await |
|
09.03.2021, 11:24 | #7 |
Пользователь
Регистрация: 08.03.2010
Сообщений: 48
|
Я целый день "игрался" да так наигрался, что и к компьютеру за километр тошно подходить.
Да в документации к JS сам чёрт ногу сломит, как положено??? В PHP например всё просто и чётко, отличная понятная и простая документация, там ещё можно говорить про "положено", а тут... Вот интересно из всех кто посмотрел тему, все ли, когда хотят получить данные "играются", а главное как долго "играются" перед тем как получают результат (ну или вырубают к чёртовой бабушке асинхронность)? В общем понятно, для стандартной ситуации в ДЖаваскрипте нет стандартного решения, никому ж не надо получать данные! Отлично, всё в духе JS!!! Последний раз редактировалось begovik; 09.03.2021 в 11:41. |
09.03.2021, 11:33 | #8 |
Пользователь
Регистрация: 08.03.2010
Сообщений: 48
|
А скажите, кто знает, может кто сталкивался, во всяких ВУЯХ, РЕАКТАХ и прочей нечисти этот момент проработан, там можно остаться живым до того момента как получишь в ответе от сервера долгожданный ответ?
Хотя из-за одного момента изучать фреймворк... такое себе удовольствие. Или может в АКСИОС как-то попроще, или то же самое? Последний раз редактировалось begovik; 09.03.2021 в 11:44. |
15.03.2021, 08:34 | #9 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,179
|
само понятие выполнения асинхронного кода - оно везде одинаковое.... разная реализация просто.
Если вы хотите сделать просто СИНХРОННЫЙ запрос, то есть выполнить запрос и дождаться ответа, и пока ответ не придет- скрипт его ожидает, можете использовать Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
результат post-запроса в переменную | Mortimoro | JavaScript, Ajax | 6 | 21.10.2014 21:11 |
Из POST запроса получить как число | Человек_Борща | PHP | 2 | 28.12.2012 14:43 |
Не успеваю получить результат выполнения функции в процедуре | Den7656 | Общие вопросы Delphi | 15 | 12.09.2011 11:54 |
Результат POST-запроса в TStringStream | mc_12 | Работа с сетью в Delphi | 0 | 06.07.2010 14:49 |
Как в ProgressBar отобразить процесс выполнения Post запроса через Idhttp | Joe_Tribbiani | Работа с сетью в Delphi | 8 | 15.06.2009 10:39 |