Я пытаюсь правильно интерпретировать ответ от вызова выборки на URL, который я считаю строкой json.Я перепробовал множество вариантов, основанных на похожих постах, но ничто не дает мне полезных данных для работы.Вот одна попытка:
fetch('http://serverURL/api/ready/', {method: "POST", mode: "no-cors"})
.then(function(response) {
response.json().then(function(data) {
console.log('data:' + data);
});
})
.catch(function(err) {
console.log('Fetch Error :-S', err);
});
Возвращает синтаксическую ошибку в консоли:
SyntaxError: JSON.parse: неожиданный конец данных в строке 1 столбца 1 JSONdata
Так что, возможно, это не JSON ... если я поставлю точку останова на строке console.log и наведу курсор мыши на ответ (строка выше), я вижу объект ответа (?) с различнымиполя:
Не уверен, как интерпретировать это ... статус: 0 предполагает, что он не получил действительный ответ.Однако, если я проверяю вкладку «Сеть» в инструментах разработчика и нажимаю на строку выборки, там отображается состояние 200, а в разделе «Окно ответа» / JSON отображается информация о сообщении, которое вы также увидите, если просто вставить URL-адрес в URL-адрес браузера.бар напрямую.Как и в разделе «Полезные данные ответа», в котором показана строка JSON:
{"msg": "API is ready.", "Success": true}
Так ... это выглядит как JSON, нет?Но fetch не может принять это как json?
Вот еще один вариант, но с использованием response.text () вместо response.json ()
fetch('http://serverURL/api/ready/', {method: "POST", mode: "no-cors"})
.then((response) => {
console.log(response);
response.text().then((data) => {
console.log("data:" + data);
});
});
Это печатает объект ответа вконсоль (то же, что и выше: ok: false, status: 0, type: opaque etc).Второй файл console.log ничего не печатает после data :.Если я использую response.json, я снова получаю синтаксическую ошибку о конце данных, как указано выше.
Есть идеи?Я понимаю, что сервер может не предоставлять то, что нужно или нужно для выборки, но он действительно предоставляет некоторую информацию (по крайней мере, при использовании URL-адреса непосредственно в браузере), с которой мне нужно иметь дело, например, в виде json, текста или чего-то еще..