Я пытаюсь сохранить данные в базе данных, но сталкиваюсь с ошибкой - PullRequest
0 голосов
/ 23 января 2020

Создаю приложение реакции, в котором я использую API для сохранения данных в базу данных, но когда я отправляю запрос, получаю ошибку

let responseData = await fetch('https://********************',
  {method: 'post',
    headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
body: JSON.stringify(data)});
responseData = responseData.json();```

**error**

Access to fetch at 'https://*********************' from origin 
'http://localhost:3000' has been blocked by CORS policy: Request 
header field access-control-allow-origin is not 
allowed by Access-Control-Allow-Headers in preflight response.
[![enter image description here][1]][1]


  [1]: https://i.stack.imgur.com/kMxKF.png

Ответы [ 3 ]

0 голосов
/ 23 января 2020

вы пытаетесь получить напрямую из https://i.stack.imgur.com? Это не сработает, как вы можете видеть в ошибке. Браузеры не разрешают делать запросы к хостам, которые не принадлежат к одному источнику, если это явно не разрешено, что в вашем случае составляет localhost. Вам нужно будет запустить свой собственный сервер, чтобы получать данные из других источников. Если вы уже используете сервер на локальном хосте, все будет в порядке. Но если вы запускаете сервер на каком-то другом хосте, вам явно нужно разрешить localhost в качестве исключения из политики CORS. Большинство серверных платформ имеют возможность установить это. Просто Google для любого сервера вы используете:)

0 голосов
/ 23 января 2020

Вы можете установить Moesif Orign & CORS Changer для chrome и включить его, и он будет работать для вас

0 голосов
/ 23 января 2020

Похоже, вам нужно включить CORS на вашем сервере.

Я предполагаю, что из ваших тегов вы используете Express.

Вы можете использовать cors npm пакет:

npm install cors

Тогда в вашем приложении:

const express = require('express')
const cors = require('cors')
const app = express()

app.use(cors())

// The rest of your app

См. Документы для более расширенного использования: https://www.npmjs.com/package/cors

Надеюсь, это поможет решить вашу проблему.

...