Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для ArtFeather
14 / 14 / 13
Регистрация: 04.06.2015
Сообщений: 85

Присвоение значения переменной с помощью Ajax.

06.08.2015, 19:17. Показов 1996. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
    var usename = $('#login').val();
    var text = "";
    $.ajax({
        url: '../ajax/checkname.php',
        type: 'POST',
        data: 'user='+usename,
            success: function(data) {
 
                text = data;
 
            }
    });
Ничего не записывается в переменную text (смотрю по консоли отладки в хроме), хотя если поставить
JavaScript
1
alert(data);
, то появляется сообщения на экране с той строкой, которую возвратил скрипт (используется echo), но text
всё равно остаётся пустой
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.08.2015, 19:17
Ответы с готовыми решениями:

Присвоение php переменной значения js переменной
Доброго времени суток, я только начинаю изучать JavaScript и у меня возник следующий вопрос: Имеется переменная созданная в JavaScript, в...

Присвоение значения одной переменной значению другой переменной
Здравствуйте! При загрузке приложение считывает значения узлов в xml файле (например, IDa="IDa2", IDb="IDb1"). ...

Присвоение переменной среды значения переменной цикла
здравствуйте, у меня простой вопрос: for /l %%i in (10,10,100) do ( set /a w=%%i echo %%i=%w% ) результат получается, что...

6
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
06.08.2015, 19:37
Как вы ее выводите?
0
 Аватар для ArtFeather
14 / 14 / 13
Регистрация: 04.06.2015
Сообщений: 85
06.08.2015, 19:40  [ТС]
Armi,
Её - это кого? Если вы про переменную text, то после идёт парочку проверок if и return от функции. Дело в том, что после ajax запроса, смотря, в отладочную панель, переменная text остаётся пустой, но как я и сказал, если вывести содержимое data с помощью alert(), то выводится тот ответ, что нужен. После ajax запроса, разумеется все проверки обламываются и возвращается код ошибки (у моей функции) т.к text ничего не содержит
0
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
06.08.2015, 19:44
Можно полностью код увидеть который не работает, потому что здесь я никаких ошибок не вижу.
0
 Аватар для ArtFeather
14 / 14 / 13
Регистрация: 04.06.2015
Сообщений: 85
06.08.2015, 19:48  [ТС]
Armi,
В том то и дело, что я тоже:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function checkusername()
{
    var usename = $('#login-text').val();
    var text = "";
    $.ajax({
        url: '../ajax/checkname.php',
        type: 'POST',
        data: 'user='+usename,
            success: function(data) {
 
                text = data;
 
            }
    });
                if (text == '<b>Login is already used</b>')
                    return 1;
                if (text == '<b>Login is not used</b>')
                    return 2;
                if (text == '<b>Bad Request</b>')
                    return -1;
 
                return 0
};
PHP
1
2
3
4
5
6
7
8
9
10
11
12
// Опускаем проверки на валидность  и т.д
                                       $result = $mysqli->query("SELECT * FROM `user` WHERE `username` = '".$username."'");
                    if ($result->num_rows >= 1) // На всякий случай :D
                        {
                            echo '<b>Login is already used</b>';
                            return 0;
                        }
                        else
                        {
                            echo '<b>Login is not used</b>';
                            return 1;
                        }
Скрипт php работает исправно и возвращает нужную запись, руководствуясь тем, что есть ли такой ник в базе или нет
0
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
06.08.2015, 20:09
Ну потому что вы проверяете условия еще до того как приходит ответ с сервера на то они асинхронные, функция не дожидается ответа и выполняется дальше, нужно поместить проверки в отдельную функцию.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function cheked(text)
{
 
if (text == '<b>Login is already used</b>')
                    return 1;
                if (text == '<b>Login is not used</b>')
                    return 2;
                if (text == '<b>Bad Request</b>')
                    return -1;
 
                return 0;
}
 
 
success: function(data) {
 
              cheked(data);
            }
0
 Аватар для ArtFeather
14 / 14 / 13
Регистрация: 04.06.2015
Сообщений: 85
06.08.2015, 21:15  [ТС]
Armi,

А как мне вернуть значение из главной функции checkusername(), если опять же результат, который возвращает отдельная функция не записывается

Добавлено через 8 минут
Всё больше ненавижу js

Попробовал сделать с глобальной переменной

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var globalid = 0;
 
function checkres(data)
{
                if (data == '<b>Login is already used</b>')
                    globalid = 1;
                else
                if (data == '<b>Login is not used</b>')
                    globalid = -1;
                else
                if (data == '<b>Bad Request</b>')
                    globalid = 2;
 
                else
                globalid = 0;
 
                return 1;
 
        
}
 
    var usename = $('#login-text').val();
 
    $.ajax({
        url: '../ajax/checkname.php',
        type: 'POST',
        data: 'user='+usename,
            success: function(data) {
 
                    checkres(data);
                }
 
    });
    var res = globalid;
    return res;
Но! Что бы вы думали?? globalid остаётся равным 0!

Добавлено через 11 минут
Смотря в консоль, data передаётся правильная...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.08.2015, 21:15
Помогаю со студенческими работами здесь

Присвоение значения переменной
Подскажите пожалуйста как сделать так, что бы по нажатию определенной клавиши переменной сначала присваивалось значение 1 потом по нажатию...

Присвоение значения переменной
Добрый день. Динамически создается кнопка в GroupButton Так же есть массив buttonmassinfo, в котором указаны данные. в стринговом...

присвоение значения переменной
почему записи вида int i=j=0; при объявлении внутри функции не котируется компилятором, но в цикле for (i=j=0; i&lt;0; i++,j++){} все...

Присвоение значения переменной
Как из VB передать значение переменной, находящейся в отчёте Crystal report перед тем как запустить отчёт? Вот в кристал репорт задана...

Присвоение значения переменной
Добрый день! Я начал изучать wpf c# , но никак не могу найти пример того, как переменной присвоить значение из TextBox. Пробовал double a...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru