javascript
  • php
  • jquery
  • arrays
  • json
  • 2016-08-10 2 views 0 likes 
    0

    У меня сегодня очень странная проблема с массивом JS. Во-первых, я кодирующая JSON массив в PHP и эхо массив:JSON Array из PHP кодируется в undefined в основном JS-файле

    echo '<script type="text/javascript">var odpowiedzi = []; var odpowiedzi = '.json_encode($_SESSION['odpowiedzi']).'; alert(odpowiedzi);</script>'; 
    

    Что интересно, я вижу здесь, что предупреждение с хорошими данными моего массива, но в 2-ом файле JS Я пытаюсь увидеть его снова:

    alert(odpowiedzi[0]); 
    

    И единственное, что я получаю критически JS ошибки не определено:

    VM5244:7 Uncaught TypeError: Cannot read property '0' of undefined 
    

    в чем проблема? Для теста я сделал то же самое с обычной переменной int, и он работает! Пожалуйста, за помощью.

    +0

    И что произойдет, если вы удалите '[0]' из второго предупреждения? Вы уверены, что у JSON есть массив в качестве первого значения, вы переопределили переменную, объявив ее дважды. – adeneo

    +0

    Где находится ваш второй JS-файл? –

    +0

    Что такое вывод 'alert (odpowiedzi);'? BTW Ваша первая инструкция бесполезна «var odpowiedzi = [];' –

    ответ

    0

    Похоже, что ваш второй файл JS загружается первым. Вы можете просто добавлять команды console.log() и регистрировать время, когда они вызываются, чтобы увидеть, есть ли проблема с порядком загрузки ваших скриптов как таковых;

    console.log('nth block execute time: ' + new Date().getTime()); 
    
    +0

    Нет, этот второй файл JS загружается после этого php ... И мой тест с обычной переменной int проверяет это предложение;) – Edenwave

    Смежные вопросы