В чем ошибка SyntaxError: Unexpected token?
Код:
<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>
Дополнительно:
Файл 228.php вернул html, а ожидается json
- Подскажите а как это исправить?
- Артём, Вернуть json вместо html. Кстати, вернуться может не html, а страница ошибки. Логично глянуть в нетворке что на самом деле вернулось в ответ на запрос.
-
- Артём, ответ смотрите на одноименной вкладке. Там 100% html разметка. Но по крайней мере, можно будет прочитать, что не понравилось серверу.
- Артём, на вкладке Ответ будет видно чем ответил сервер. Вот и надо разобраться почему. Кстати, а код 228.рнр вы не хотите показать?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Ошибка 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);
После того как вы исправите все ошибки, перезапустите ваш скрипт и убедитесь, что ошибка SyntaxError: Unexpected token больше не возникает.