Задать вопрос
McFree
@McFree
JS, TS, C#

В чем ошибка Uncaught SyntaxError: Invalid or unexpected token?

имеется код:
$.post(
            "/scripts/conn.php",
            {
              act: "load", // указываем на то что это загрузка сообщений
              last: last_message_id, // передаём номер последнего сообщения который получил пользователь в прошлую загрузку
            },
            onAjaxSuccess
          );
                     
          function onAjaxSuccess(data)
          {
            console.log(data);
            eval(data);
            $(".messages-content").scrollTop($(".messages-content").get(0).scrollHeight); // прокручиваем сообщения вниз
            load_in_process = false;
          }


обращается к этому коду PHP:
$last_message_id = intval($data['last']); // возвращает целое значение переменной
        // выполняем запрос к базе данных для получения 10 сообщений последних сообщений с номером большим чем $last_message_id
        $query = R::findAll('messages', ' id > ?  ORDER BY id DESC LIMIT 10', array( $last_message_id ));
        // проверяем есть ли какие-нибудь новые сообщения
        $messages = array();
        foreach ($query as $value) {
                $messages[] = $value;
        }
        $last_message_id = $messages[0]['id'];
        $messages = array_reverse($messages);
        foreach ( $messages as $value )
        {
                // продолжаем формировать скрипт для отправки пользователю
                $js .= "$(\"<div class='message new'>[<b>" . $value['user'] . "</b>]<i> " . $value['message'] . "</i></div>\").appendTo($(\".mCSB_container\")).addClass('new');";
        }
        $js .= "last_message_id = $last_message_id;";
        echo $js;


В консоли выводит это:
$("<div class='message new'>[<b>
	  	McFree</b>]<i> вапвапвап</i></div>").appendTo($(".mCSB_container")).addClass('new');$("<div class='message new'>[<b>
	  	McFree</b>]<i> sdfsdf</i></div>").appendTo($(".mCSB_container")).addClass('new');$("<div class='message new'>[<b>
	  	McFree</b>]<i> sdfgsfdg</i></div>").appendTo($(".mCSB_container")).addClass('new');$("<div class='message new'>[<b>
	  	McFree</b>]<i> sdfgs</i></div>").appendTo($(".mCSB_container")).addClass('new');last_message_id = 5;


но не может прожевать и добавить это в HTML страницу.
Ошибка: Uncaught SyntaxError: Invalid or unexpected token
  • Вопрос задан
  • 15829 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
alsopub
@alsopub
Похоже что $value['user'] содержит перевод строки.
Попробуйте отфильтровать все лишние символы из вывода.
Типа такого:
$js = preg_replace('/[\r\n\t]/', '', $js);
echo $js;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 21:33
3000 руб./за проект
22 янв. 2025, в 18:00
15000 руб./за проект
22 янв. 2025, в 17:57
2000 руб./в час