Sovetkali
@Sovetkali
Инженер по тестированию ПО

Почему не могу получить значение JSON?

Добрый день.
Делаю AJAX запрос с помощью jQuery.
Внутри запроса внутри функции запускаю еще один запрос.

В первом случае получается получить значение lang. А вот во втором console.log(result['def']); значение undefined.
Объясните пожалуйста почему.

Вот код:
$.getJSON(
        'core/lang.php', {
            word: $('input[id="searchInput"]').val()
        },
        function (data) {
            var result = JSON.parse(data);
            lang = result['lang'];
            $.getJSON(
                'core/search.php', {
                    word: $('input[id="searchInput"]').val(),
                    lang: lang
                },
                function (data) {
                    var result = JSON.parse(data);
                    console.log(result['def']);
                },
            )
        },
    );


Сервер отвечает так:
$answer =  json_encode($answer);
echo $answer;


Сервер возвращает значения. Это видно если строку console.log(result['def']); заменить на console.log(result);
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 1
mrMazai
@mrMazai
WebDeveloper
F12 в браузере и посмотрите на вкладке «сеть», что отвечает сервер на самом деле. Будет проще. Может быть у вас нотис выскакивает и json становится не валидным. Попробуйте вначале заголовок отправить, т.к. без него не всегда читает.

header('Content-Type: application/json');
$answer = json_encode($answer);
echo $answer;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы