@historydev
Острая аллергия на анимешников

Как сделать кроссдоменный запрос локально?

Добрый день. Скажите пожалуйста, как почему не работает и как исправить?

server:

app.post('/?isAuth', (req, res) => {

   let state = {
       value: req.isAuthenticated()
   };

   console.log(state);

   res.send(JSON.stringify(value))

});


client:

export default async function userState() {

    const response = await fetch('http://localhost:4000/?isAuth', {
        method: 'POST',
        header: {
            'Access-Control-Allow-Origin': 'http://127.0.0.1:3000',
            'Access-Control-Allow-Methods': 'POST',
            'Access-Control-Allow-Headers': 'Content-Type, Authorization'
        }
    });
    const state = true;

    console.log(response);

    return state

}


Ошибка:


Access to fetch at 'localhost:4000/?isAuth' from origin 'localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
userState.js:3 POST localhost:4000/?isAuth net::ERR_FAILED
userState @ userState.js:3
./src/components/lowLvlComponents/form/formRouter.js @ formRouter.js:25
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/lowLvlComponents/form/authenticateBox.js @ header.js:17
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/lowLvlComponents/userBar/userBar.js @ topbar.js:24
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/lowLvlComponents/topBar/topbar.js @ textBoxes.js:27
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/header/header.js @ content.js:38
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/App.js @ variables.css:10
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/index.js @ index.css?38d2:43
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
1 @ index.js:15
__webpack_require__ @ bootstrap:785
checkDeferredModules @ bootstrap:45
webpackJsonpCallback @ bootstrap:32
(anonymous) @ main.chunk.js:1
userState.js:15 Uncaught (in promise) TypeError: Failed to fetch
async function (async)
userState @ userState.js:3
./src/components/lowLvlComponents/form/formRouter.js @ formRouter.js:25
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/lowLvlComponents/form/authenticateBox.js @ header.js:17
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/lowLvlComponents/userBar/userBar.js @ topbar.js:24
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/lowLvlComponents/topBar/topbar.js @ textBoxes.js:27
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/header/header.js @ content.js:38
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/components/App.js @ variables.css:10
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
./src/index.js @ index.css?38d2:43
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
1 @ index.js:15
__webpack_require__ @ bootstrap:785
checkDeferredModules @ bootstrap:45
webpackJsonpCallback @ bootstrap:32
(anonymous) @ main.chunk.js:1
localhost/:1 Access to fetch at 'localhost:4000/?isAuth' from origin 'localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
userState.js:3 POST localhost:4000/?isAuth net::ERR_FAILED
userState @ userState.js:3
Authenticate @ formRouter.js:32
renderWithHooks @ react-dom.development.js:16260
mountIndeterminateComponent @ react-dom.development.js:18794
beginWork$1 @ react-dom.development.js:20162
beginWork$$1 @ react-dom.development.js:25756
performUnitOfWork @ react-dom.development.js:24698
workLoopSync @ react-dom.development.js:24671
performSyncWorkOnRoot @ react-dom.development.js:24270
scheduleUpdateOnFiber @ react-dom.development.js:23698
updateContainer @ react-dom.development.js:27103
(anonymous) @ react-dom.development.js:27528
unbatchedUpdates @ react-dom.development.js:24433
legacyRenderSubtreeIntoContainer @ react-dom.development.js:27527
render @ react-dom.development.js:27608
./src/index.js @ index.js:6
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
1 @ index.js:15
__webpack_require__ @ bootstrap:785
checkDeferredModules @ bootstrap:45
webpackJsonpCallback @ bootstrap:32
(anonymous) @ main.chunk.js:1
userState.js:15 Uncaught (in promise) TypeError: Failed to fetch
async function (async)
userState @ userState.js:3
Authenticate @ formRouter.js:32
renderWithHooks @ react-dom.development.js:16260
mountIndeterminateComponent @ react-dom.development.js:18794
beginWork$1 @ react-dom.development.js:20162
beginWork$$1 @ react-dom.development.js:25756
performUnitOfWork @ react-dom.development.js:24698
workLoopSync @ react-dom.development.js:24671
performSyncWorkOnRoot @ react-dom.development.js:24270
scheduleUpdateOnFiber @ react-dom.development.js:23698
updateContainer @ react-dom.development.js:27103
(anonymous) @ react-dom.development.js:27528
unbatchedUpdates @ react-dom.development.js:24433
legacyRenderSubtreeIntoContainer @ react-dom.development.js:27527
render @ react-dom.development.js:27608
./src/index.js @ index.js:6
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
1 @ index.js:15
__webpack_require__ @ bootstrap:785
checkDeferredModules @ bootstrap:45
webpackJsonpCallback @ bootstrap:32
(anonymous) @ main.chunk.js:1
localhost/:1 Access to fetch at 'localhost:4000/?isAuth' from origin 'localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
userState.js:3 POST localhost:4000/?isAuth net::ERR_FAILED
userState @ userState.js:3
Authenticate @ formRouter.js:32
renderWithHooks @ react-dom.development.js:16260
mountIndeterminateComponent @ react-dom.development.js:18794
beginWork$1 @ react-dom.development.js:20162
beginWork$$1 @ react-dom.development.js:25756
performUnitOfWork @ react-dom.development.js:24698
workLoopSync @ react-dom.development.js:24671
performSyncWorkOnRoot @ react-dom.development.js:24270
scheduleUpdateOnFiber @ react-dom.development.js:23698
updateContainer @ react-dom.development.js:27103
(anonymous) @ react-dom.development.js:27528
unbatchedUpdates @ react-dom.development.js:24433
legacyRenderSubtreeIntoContainer @ react-dom.development.js:27527
render @ react-dom.development.js:27608
./src/index.js @ index.js:6
__webpack_require__ @ bootstrap:785
fn @ bootstrap:150
1 @ index.js:15
__webpack_require__ @ bootstrap:785
checkDeferredModules @ bootstrap:45
webpackJsonpCallback @ bootstrap:32
(anonymous) @ main.chunk.js:1
userState.js:15 Uncaught (in promise) TypeError: Failed to fetch
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Access-Control-Allow-* заголовки должен отправлять сервер, а не клиент
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы