ОШИБКА Uncaught SyntaxError: Неожиданный токен - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть следующий JS-скрипт:

jQuery(document).ready(function($) {
    $("#idSelect").change(function(event) {
        var valor = $(this).val();
        //alert(valor);
        $.post( "ajaxSerie.php", { valorInput: valor }, function( data ) {
            var retorno = JSON.parse(data);
            console.log(retorno);
            $("#pertence").val(retorno['pertence'])// aqui estou atribuindo um input qualquer o valor retornado do php, o input tera o valor de sala206
            $.each(retorno, function() {
                $('<option>').val(retorno['pertence']).text(retorno['pertence']).appendTo('#teste');
            });
        });
    });

}

в AJAX выглядит так:

$idValor = $_POST['valorInput']; 
 $result = [
"pertence" => $idValor
];
echo json_encode($result);

, когда я делаю локально, он работает отлично, теперь, когда я захожу на сайт наНа сервере появляется следующая ошибка:

Uncaught SyntaxError: неожиданный токен <в JSON в позиции 0 </p>

, как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

1st: $.post(url , {} , callback function(){} , 'json'); вы можете добавить 'json' вместо использования JSON.parse()

2nd: если на вашем сервере установлена ​​версия PHP старше 5.4

$result = [
"pertence" => $idValor
];

$result = array(
"pertence" => $idValor
);
0 голосов
/ 14 декабря 2018

Ваш вызов Ajax может возвращать HTML, который начинается с '<', начала открывающего тега HTML. </p>

По моему опыту, вызовы Ajax, возвращающие HTML, являются признаком того, что произошла ошибкав концеЕсли вы используете инструменты разработчика своего браузера, вы сможете отслеживать ваш Ajax-вызов и читать его ответ.

Потратьте время, чтобы прочитать этот HTML, потому что в большинстве случаев сообщение об ошибке в теге остаетсякрошка, чтобы найти реальную проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...