Почему получаю ошибку при 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, время: 04:17. |