Я работаю над веб-приложением, в котором мне нужно получить данные из API, размещенного в другом домене. Я использую API-интерфейс выборки в своем коде JavaScript, но продолжаю получать ошибку Cors. Вот мой клиентский код:
Сообщение об ошибке, которое я получаю: Доступ к выборке «https://api.example.com/data» из источника «http://localhost:3000» заблокирован политикой CORS: заголовок «Access-Control-Allow-Origin» отсутствует в запрашиваемый ресурс. На стороне сервера я настроил CORS, чтобы разрешить запросы с моего сервера разработки:
server.js (Node.js с Express): введите сюда описание изображения Несмотря на настройку CORS на сервере, я все еще сталкиваюсь с ошибкой. Я проверил, что сервер работает и доступен. Что может быть причиной этой проблемы и как ее исправить?
Вашему экспрессу, вероятно, понадобится такое промежуточное программное обеспечение.
import { Request, Response, NextFunction } from 'express'
export function config(req: Request, res: Response, next: NextFunction): void {
if (req.headers.origin) {
res.header('Access-Control-Allow-Origin', req.headers.origin)
} else {
res.header('Access-Control-Allow-Origin', '*')
}
}
Вы можете получить дополнительную информацию по адресу: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
Я так понимаю
api.example.com
— это заполнитель для какого-то реального домена, которым вы владеете.