181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
|
||||||
1 | ||||||
изменить переменную в функции10.12.2015, 21:35. Показов 4644. Ответов 7
Метки нет (Все метки)
Доброго всем вечера.
Как знаю глобальная переменная объявляется просто без "var" Но вот так изменить ее не выходит. Функция вызывается от приема данных от ajax Данные приходят точно и верные. В функции alert говорит что надо но за функцией без изменений.
0
|
10.12.2015, 21:35 | |
Ответы с готовыми решениями:
7
В теле функции изменить глобальную переменную Изменить переменную php на лету Изменить переменную в элементе div Изменить переменную и вызвать функцию с новым значением переменной |
0 / 0 / 4
Регистрация: 22.10.2015
Сообщений: 21
|
||||||
11.12.2015, 16:31 | 2 | |||||
Функцию нужно вызвать:
0
|
1 / 1 / 2
Регистрация: 08.12.2015
Сообщений: 7
|
|
11.12.2015, 23:45 | 3 |
Для объявления переменной всегда используй "var", это поможет избавится от неправильной работы скрипта, иногда бывает явных ошибок нет, и скрипт работает неправильно, а все потому что где то переменные объявлены с "var" а где то без "var"
0
|
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
|
|
12.12.2015, 11:12 [ТС] | 4 |
akula410, я хоть и в js не селен но ведь писал что как знаю с var локальные, а без глобальные переменные
0
|
1 / 1 / 2
Регистрация: 08.12.2015
Сообщений: 7
|
|
12.12.2015, 13:01 | 5 |
По поводу ключевого слова "var" - http://javascript.ru/var
Глобальная переменная - это переменная у которой область видимости - window. Если переменную создать внутри функции то это уже локальная переменная, если внутри функции не подставить слово "var" то становится глобальной. Что бы в этих понятиях не путаться в начале скрипта создавайте все глобальные переменные которые вы будете использовать с ключевым словом "var" можно не присваивать значения, а потом в функциях там где необходимо меняйте значения.
0
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
||||||
12.12.2015, 13:27 | 6 | |||||
prudkiy, Проблема в асинхронности. Смотрите, что происходит:
1. Сделать ajax-запрос синхронным. Решение, мягко говоря, не самое удачное, но иногда и без него не обойтись. 2. Использовать "Обещания" (Promise). В jQuery, для таких операций есть объект $.Deferred 3. После завершения запроса, вызывать функцию, где должна использоваться переменная с измененным значением. Выбор за вами. Могу еще поделиться ссылкой на статью по этой теме
0
|
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
|
||||||||||||||||
12.12.2015, 21:38 [ТС] | 7 | |||||||||||||||
Lazy_Den а почему еще не завершен.
Ведь в success указывается функция которая выполниться после завершения запроса и получнеия ответа. В data ведь этот ответ и помещается.
Если писать так
Но вот если так
0
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
|||||||||||
12.12.2015, 23:02 | 8 | ||||||||||
Вопрос не правильный. Сколько может продолжаться ваш запрос? Иногда пару миллисекунд, секунду, а иногда пару секунд. Но даже, если запрос выполняется всего пару миллисекунду, то этого уже достаточно для того, чтоб вы не получили результат, который ожидали. Вот пример:
0
|
12.12.2015, 23:02 | |
12.12.2015, 23:02 | |
Помогаю со студенческими работами здесь
8
Вывести переменную из функции Вытащить переменную из функции Вернуть переменную из функции Передать значение функции в переменную Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |