Неперехваченная синтаксическая ошибка: неожиданный токен '<' Я новичок в скобках

  • Автор темы olegcrew
  • 76
  • Обновлено
  • 13, May 2024
  • #1
Здравствуйте, я пытаюсь обработать вызов API.

Я написал код запроса API в формате html в скобках.

Я новичок.

Получение сообщения

Неперехваченная синтаксическая ошибка: неожиданный токен '<'

Вот код, я пропустил реальную http-ссылку, поскольку сообщение постоянно отклонялось:

(И я заменил ключ APi)

 <!doctype html>

<html>

<script>

//GET

var burl = ' ';

var endpoint = 'status?';

var parameters = 'api_key=N#####VIlX8zb!9ZL';

var url = burl + endpoint + parameters;

request ('GET' ,url).

then((r1) => {

//SPECIFIY THE CODE TO HANDLE API RESPONSE

console.log(r1);

}).

catch((err) => {

console.log(err);

})

function request (method, url) {

return new Promise(function (resolve, reject) {

var xhr = new XMLHttpRequest();

xhr.open(method, url);

xhr.onload = resolve;

xhr.onerror = reject;

xhr.send();

});

}

</script>

</html>
Код (разметка):

olegcrew


Рег
22 Dec, 2012

Тем
1

Постов
1

Баллов
11
  • 22, May 2024
  • #2
И это отчасти то, почему я ненавижу этот мусор с обещаниями.

Загадочная, болезненно цепляющая логику запроса ИТ-специалистов, при использовании с мусорным идиотизмом «запроса» лишает вас возможности правильно обрабатывать статус ошибки и обеспечивает НУЛЕВОЙ механизм для обработки кодов ответов...

... и именно поэтому так много сайтов, которые полагаются на него, никогда-никогда не приземляются, если возникает проблема с запросом в бесконечном цикле «загрузки», потому что они даже не предусматривают возможности на случай, если что-то пойдет не так.

Вот почему я бы взял весь этот раздел кода, выбросил его в корзину и просто использовал старый добрый XMLHttpRequest.



Может быть больше кода, но он более надежен, позволяет использовать статус, имеет крючки для мониторинга прогресса и т. д. и т. п. и т. д. Fetch/request/etc — это некомпетентный мусор, пустая трата времени и усилий, и они относятся к числу последних Изменения ECMAScript отдают тем, что за спецификацию языка отвечают люди, у которых недостаточно опыта написания настоящего программного обеспечения.
 

iphtd


Рег
21 Jun, 2015

Тем
0

Постов
2

Баллов
2
  • 29, May 2024
  • #3
Говорится ли там, ГДЕ происходит этот «неожиданный токен»? ЧТО говорит неожиданный знак, твой редактор? Хотя, честно говоря, это отличный пример того, почему мне не нравится эта «обещающая» BS с бессмысленно и бессмысленно загадочными функциями мусорных стрелок.

и как эта новая методология портит обработку состояний/ошибок. Но я не вижу в этом коде ничего, что могло бы говорить об ошибке.
 

siemens5045


Рег
16 Mar, 2011

Тем
7

Постов
41

Баллов
111
  • 01, Jun 2024
  • #4
Какие данные вы хотите получить? Кажется, это код прямо из учебника, который вы откуда-то скопировали. Попробуйте что-нибудь более простое, чтобы увидеть, что это за ошибка:
 

<!doctype html>

<html>

<script>

//GET

var burl = ' ';

var endpoint = 'status?';

var parameters = 'api_key=N#####VIlX8zb!9ZL';

var url = burl + endpoint + parameters;

fetch(url).then(function(response) {

return (response.text());

}).then(function(responseText) {

console.log(responseText); // do something with the response text, export it to other function

}).catch(function(err) {

console.log(err);

});

</script>

</html>

Код (разметка):
 

edic413


Рег
10 May, 2014

Тем
1

Постов
2

Баллов
12
  • 10, Jun 2024
  • #5
Эта неожиданная ошибка токена возникает в основном, когда функция ожидает ввода JSON, но получает ввод HTML. Например, JSON.parse(res);

Если переменная res представлена в виде HTML-строки '<>'. Вы получите эту ошибку. Некоторые функции внутренне используют только функции JSON, поэтому.....

Как уже упоминалось в @deathshadow, временно отмените обещание и запишите в console.log необработанный вывод запроса Ajax.
 

Сергей Чамкин


Рег
22 Jan, 2013

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно