Network response was not ok - при GET-запросе
Хотел сделать простой запрос на список блюд, с помощью открытого API. На пустой страничке решил вывести весь json файл, чтобы проверить работоспособность. Написал скрипт:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
const url = 'https://flwrscafeelistas.quickresto.ru/platform/online/api/read?moduleName=warehouse.nomenclature.dish&className=ru.edgex.quickresto.modules.warehouse.nomenclature.dish.Dish';
const username = 'log'; // здесь использовал корректные данные
const password = 'pass'; // тут тоже
fetch(url, {
method: 'GET',
headers: new Headers({
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa(username + ':' + password)
})
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
</script>
</body>
</html>
Но работать он отказывался, ссылаясь на ошибку: from origin 'http://localhost' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request. Добавил под методом строку с mode:'no-cors'
, в итоге в консоли сообщается об ошибке с сетью. Немного не понимаю, почему ошибка с сетью не вылетала до добавления mode:'no-cors'
(аналога решения той проблемы я тоже не нашел), так как делаю все на локальном сервере, с помощью XAMPP