Почему получаю ошибку при fetch локального JSON?
Доброго времени суток!
Как правильно сделать fetch локального "data.JSON"? Сейчас делаю вот так, и получаю ошибку - SyntaxError: Unexpected token < in JSON at position 0 Services.js
export default class ApiService {
async GetPeople() {
const request = await fetch('./data.json');
if(!request.ok) {
throw new Error('Что-то пошло не так', request.status)
} else {
return request.json()
};
};
};
Userslist.js (отсюда обращаюсь к services)
import Service from '../../../Services';
const UsersListContainer = () => {
const api = new Service();
useEffect(() => {
api.GetPeople()
.then(data => console.log(data))
}, [api])
return (
<UsersListView />
);
};
export default UsersListContainer;
|
Это ошибка в JSON.
Надо его смотреть. |
JSON
[
{
"id": 0,
"favourite": false,
"name": "Gilbert Morton",
"age": 30,
"phone": "(369) 432-9206",
"image": "sheep",
"phrase": "Japman somam mes lizmasapa om zefopi ki wa ogju mofrajnir denba uc famoso opeipu woul.",
"video": "shoe"
},
{
"id": 1,
"favourite": true,
"name": "Jeffery Davidson",
"age": 57,
"phone": "(415) 670-6901",
"image": "pig",
"phrase": "Lejtefup boc hi ricge tela mo ragdi vutomeh kuhup veosubu pe ceso juhzustum ipagagcub fu."
}
]
|
Это то, что вы передаете, или то, что получаете?
(Не факт, что это одно и тоже) Просто в самом сообщении об ошибке говорится, что в JSON обнаружен непредвиденный символ < |
|
Ну сделай вместо
return request.json() console.log (await request.text()) И посмотри, что приходит |
Мне пришло:
<!DOCTYPE html> <html lang="en"> <head> <script crossorigin type="text/javascript" src="https://codesandbox.io/static/js/vendors~app~embed~sandbox-startup.963c66368.chunk.js"></script> <script crossorigin type="text/javascript" src="https://codesandbox.io/static/js/sandbox-startup.1db63978b.js"></script> <script src="//codesandbox.io/static/browserfs8/browserfs.min.js" type="text/javascript"></script> ....... |
Цитата:
https://codesandbox.io/s/optimistic-noether-lubgn |
| Часовой пояс GMT +3, время: 02:08. |