Почему JSON.parse генерирует перекрестную ошибку? - PullRequest
2 голосов
/ 07 октября 2019

Без JSON.parse следующий код работает нормально. Если я пытаюсь проанализировать или привести в соответствие мой объект данных, я получаю ошибку перекрестного источника. Почему это происходит и как я могу это исправить?

У меня есть следующий фрагмент кода в Title.js:

const { name, show_title } = JSON.parse(data.attributes);

И это мой объект данных, от которого я передаюTitle.stories.js:

{"attributes":{"name":"testNameAttribute","show_title":"0"}}

Я получаю следующую ошибку в Chrome:

Ошибка: возникла ошибка перекрестного источника. React не имеет доступа к фактическому объекту ошибки в разработке. в Object.invokeGuardedCallbackDev (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:74131:19) в invokeGuardedCallback (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:74175:31) в beginWork $$ 1 (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:99439:7) в executeUnitOfWork (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:98347:12) в workLoopSync (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:98323:22) вexecuteSyncWorkOnRoot (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:97891:11) at scheduleUpdateOnFiber (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:97299:7) at scheduleRootUpdate (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:100654:3) at updateContainerAtExpirationTime (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:100682:10) at updateContainer (http://localhost:9002/vendors~main.dabd386ab27fa6eddf93.bundle.js:100784:10)

1032 *

И эта ошибка в Firefox:

JSON.parse: неожиданный символ в строке 1 столбца 2 данных JSON

Button @ http://localhost:9002/main.96db0eff63ba8f27231c.hot-update.js:38:26 renderWithHooks @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:90029:18 mountIndeterminateComponent @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:92444:13 beginWork $ 1 @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:93793:16 callCallback @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:74071:14 invokeGuardedCallbackDev @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:74120:16 invokeGuardedCallback @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:74175:31 beginWork $$ 1 @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:99439:7 executeUnitOfWork @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:98350:12 workLoopSync @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:98323:22 executeSyncWorkOnRoot @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:97891:11 scheduleUpdateOnFiber @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:97299:7 scheduleRootUpdate @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:100654:3 updateContainerAtExpirationTime* updateContainer @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:100784:10 legacyRenderSubtreeIntoContainer / <@ <a href="http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:101372:7" rel="nofollow noreferrer">http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:101372:7 unbatchedUpdates @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:98084:12 legacyRenderSubtreeIntoContainer @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:101371:5 render @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:101465:12 render / <@ <a href="http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:11741:26" rel="nofollow noreferrer">http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:11741:26 render @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:11740:10 _callee $ @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:11837:20 tryCatch @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:127832:40 invoke @ http://localhost:9002/vendors~main.f1b2a3fffbb517f9fb67.bundle.js:128058:22 defineIteratorMethods /

...