Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2014, 14:29
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Почему не определяется функция?
http://jsfiddle.net/js3pxwnL/11/
Подскажите, почему у меня не определена переменная json_data?
Значения из php скрипта получаю, вывожу через echo. Результат такой: ["11","17","14"]. но в JS эти значения почему-то не подставляются. Если задаю сам переменную json_data = [11,17,14] (именно без внутренних кавычек), то скрипт обрабатывает, но только первое число.
Ответить с цитированием
  #2 (permalink)  
Старый 13.10.2014, 14:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А ты поставь в месте, где пытаешься использовать массив, алерт.
То есть поставь перед if (!$.inArray( d.getDate(), date_json )) алерт:
alert('Я использую date_json');



А в месте, где date_json получен с сервера, то есть сразу после date_json = JSON.parse(data), напиши:
alert('А вот только сейчас я его получил с сервера. Вот я дурак-то )')



Этот вопрос входит в ТОП 10 вопросов новичков )
Но ты то, батя, вроде не новичек.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2014, 15:04
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Сообщение от danik.js Посмотреть сообщение
Но ты то, батя, вроде не новичек.
))) Я так понимаю намек на то, что у меня не в том порядке пойдут алерты? Я почему-то алерта, что я дурак вообще не вижу, но сначала да, выходит, что я использую переменную.

UPDATE. Закомментировал date_json = JSON.parse(data); и получил второй алерт, после первого. Хм, а почему они работаю в другом порядке? Как исправить?

Последний раз редактировалось Batyabest, 13.10.2014 в 15:09.
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2014, 15:40
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Batyabest
Как исправить?
Замутить машину времени, а иначе никак.

Исправить надо не порядок алертов, а логику твоего кода. Сейчас ты пытаешься использовать данные, которые придут только в будущем, через X миллисекунд. Я вот не думаю, что это логично )
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 13.10.2014, 15:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Batyabest
JSON.parse(data)
JSON.parse не нужно делать руками. Достаточно сообщить функции ajax, что ты ждешь json. Для этого укажи опцию dataType: 'json' и все, теперь data уже будет массивом, или че там у тя.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замыкания, почему функция не видит переменные ruvi Общие вопросы Javascript 5 31.05.2014 17:36
AJAX функция для новых html-элементов broadcast77 AJAX и COMET 25 03.03.2014 14:01
почему не работает функция Терехов Станислав Общие вопросы Javascript 28 30.12.2013 14:56
Почему не запускается функция? jeysmook jQuery 10 25.06.2013 09:30
Где вызывается функция? cradis Общие вопросы Javascript 5 23.04.2011 13:47