@barakuda1

В чем я допустил ошибку в json?

$("#form-phone").submit(function(e) {
                e.preventDefault();

                var phone= $("#phone").val();

                $.ajax({
                    type: "POST",
                    url: "json.php",
                    data: $(this).serialize(),
                    cache: false,
                    success: function(response) {
                        var jsonData = JSON.parse(response);

                        if (jsonData.ok == "1") {
                            alert("ok");
                        }else{
                            alert("error");
                        }
                    }
                });
            });


if(isset($_POST['phone'])) {
	$phone= $_POST['phone'];
        echo json_encode(array('ok' => 1));
}else{
	echo json_encode(array('ok' => 0));
}


VM1632:1 Uncaught SyntaxError: Unexpected token < in JSON at position 0
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Открывайте инструменты разработчика, нетворк, и смотрите что возвращает ваш аяксовый запрос, скорее всего там у вас какой-то варнинг вылазит, или еррор.

Кроме того, парсить строку совершенно не обязательно, достаточно в аяксе указать тип возвращаемого значения.
Ответ написан
Комментировать
@Dropsen
учусь веб-разработке.
Может быть в начале строчки какой- то символ в начале, не относящийся к json. Попробуй сначала из строки удалить первый символ, потом потом уже JSON.parse. Перед этим лучше проверь, что возвращает. Потому-что если ошибка, то первый символ не причём
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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