В чем ошибка SyntaxError: Unexpected token?

Ссылка скопирована
1 ответ

Код:

<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> // Функция, которая запускается при выборе клиента из списка function selectClient() {   // Получаем значение выбранного клиента   var client = $("#client-select").val();      // Если клиент не выбран, то ничего не делаем   if (client == "") return;   // Отправляем AJAX-запрос на сервер, передавая имя клиента   $.ajax({     url: "228.php",     type: "GET",     data: {client: client},     dataType: "json",     success: function(data) {       // Если запрос успешен, то выводим полученные данные на экран       $("#client-data").html(         "<p>Имя: " + data['name'] + "</p>"         // "<p>Телефон: " + data.phone + "</p>" +         // "<p>Адрес: " + data.address + "</p>"       );     },     error: function(xhr, status, error) {       // Если запрос не удался, то выводим сообщение об ошибке       $("#client-data").html("<p>Произошла ошибка: " + error + "</p>");     }   }); }  </script> </head> <body> <h1>Фоновый поиск данных клиента</h1> <!-- Выпадающий список с именами клиентов --> <select id="client-select" onchange="selectClient()">   <option value="">Выберите клиента</option>   <?php   // Подключаемся к базе данных   $conn = new mysqli("localhost", "root", "", "client");   // Если подключение не удалось, то выводим сообщение об ошибке   if ($conn->connect_error) {     die("Ошибка подключения: " . $conn->connect_error);   }   // Выполняем запрос к базе данных, получая имена клиентов   $sql = "SELECT name FROM client";   $result = $conn->query($sql);   // Если запрос успешен, то выводим имена клиентов в виде опций списка   if ($result->num_rows > 0) {     while($row = $result->fetch_assoc()) {       echo "<option value='" . $row["name"] . "'>" . $row["name"] . "</option>";     }   }   // Закрываем подключение к базе данных   $conn->close();   ?> </select> <!-- Блок, в котором будут отображаться данные выбранного клиента --> <div id="client-data"></div> </body> </html>

<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> // Функция, которая запускается при выборе клиента из списка function selectClient() { // Получаем значение выбранного клиента var client = $("#client-select").val(); // Если клиент не выбран, то ничего не делаем if (client == "") return; // Отправляем AJAX-запрос на сервер, передавая имя клиента $.ajax({ url: "228.php", type: "GET", data: {client: client}, dataType: "json", success: function(data) { // Если запрос успешен, то выводим полученные данные на экран $("#client-data").html( "<p>Имя: " + data['name'] + "</p>" // "<p>Телефон: " + data.phone + "</p>" + // "<p>Адрес: " + data.address + "</p>" ); }, error: function(xhr, status, error) { // Если запрос не удался, то выводим сообщение об ошибке $("#client-data").html("<p>Произошла ошибка: " + error + "</p>"); } }); } </script> </head> <body> <h1>Фоновый поиск данных клиента</h1> <!-- Выпадающий список с именами клиентов --> <select id="client-select" onchange="selectClient()"> <option value="">Выберите клиента</option> <?php // Подключаемся к базе данных $conn = new mysqli("localhost", "root", "", "client"); // Если подключение не удалось, то выводим сообщение об ошибке if ($conn->connect_error) { die("Ошибка подключения: " . $conn->connect_error); } // Выполняем запрос к базе данных, получая имена клиентов $sql = "SELECT name FROM client"; $result = $conn->query($sql); // Если запрос успешен, то выводим имена клиентов в виде опций списка if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "<option value='" . $row["name"] . "'>" . $row["name"] . "</option>"; } } // Закрываем подключение к базе данных $conn->close(); ?> </select> <!-- Блок, в котором будут отображаться данные выбранного клиента --> <div id="client-data"></div> </body> </html>

В чем ошибка SyntaxError: Unexpected token?

Дополнительно:

Файл 228.php вернул html, а ожидается json

  • Подскажите а как это исправить?
  • Артём, Вернуть json вместо html. Кстати, вернуться может не html, а страница ошибки. Логично глянуть в нетворке что на самом деле вернулось в ответ на запрос.
  • В чем ошибка SyntaxError: Unexpected token?

  • Артём, ответ смотрите на одноименной вкладке. Там 100% html разметка. Но по крайней мере, можно будет прочитать, что не понравилось серверу.
  • Артём, на вкладке Ответ будет видно чем ответил сервер. Вот и надо разобраться почему. Кстати, а код 228.рнр вы не хотите показать?
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Сергей Миронов Ответ

Ошибка SyntaxError: Unexpected token возникает, когда интерпретатор JavaScript обнаруживает непредвиденный токен в своем коде. Это может быть вызвано различными причинами, такими как неправильное использование операторов, неправильное расположение скобок, отсутствие точки с запятой в конце оператора и другие.

Чтобы исправить эту ошибку, вам следует внимательно просмотреть ваш код и найти место, где происходит неожиданный токен. Вот несколько шагов, которые могут помочь вам в этом процессе:

1. Проверьте правильность использования операторов. Убедитесь, что все операторы используются в соответствии с их назначением и синтаксисом.

2. Проверьте правильное расположение скобок. Убедитесь, что все скобки открываются и закрываются в правильном порядке.

3. Убедитесь, что вы используете точку с запятой в конце каждого оператора. Хотя в JavaScript точка с запятой не обязательна, ее отсутствие может привести к ошибке Unexpected token.

4. Проверьте правильность написания ключевых слов и идентификаторов. Неопознанные идентификаторы также могут вызвать эту ошибку.

Приведу пример кода на языке JavaScript, который может вызвать ошибку SyntaxError: Unexpected token:

var x = 10
var y = 20
var sum = x + y
console.log("Сумма чисел равна: " sum)

var x = 10 var y = 20 var sum = x + y console.log("Сумма чисел равна: " sum)

В данном примере ошибка заключается в том, что пропущен оператор конкатенации (+) при выводе суммы на консоль. Исправленный вариант кода будет выглядеть так:

var x = 10;
var y = 20;
var sum = x + y;
console.log("Сумма чисел равна: " + sum);

var x = 10; var y = 20; var sum = x + y; console.log("Сумма чисел равна: " + sum);

После того как вы исправите все ошибки, перезапустите ваш скрипт и убедитесь, что ошибка SyntaxError: Unexpected token больше не возникает.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно