Почему мой вызов API выборки JavaScript возвращает ошибку CORS, хотя я настроил CORS на сервере?

Я работаю над веб-приложением, в котором мне нужно получить данные из API, размещенного в другом домене. Я использую API-интерфейс выборки в своем коде JavaScript, но продолжаю получать ошибку Cors. Вот мой клиентский код:

app.js:

Сообщение об ошибке, которое я получаю: Доступ к выборке «https://api.example.com/data» из источника «http://localhost:3000» заблокирован политикой CORS: заголовок «Access-Control-Allow-Origin» отсутствует в запрашиваемый ресурс. На стороне сервера я настроил CORS, чтобы разрешить запросы с моего сервера разработки:

server.js (Node.js с Express): введите сюда описание изображения Несмотря на настройку CORS на сервере, я все еще сталкиваюсь с ошибкой. Я проверил, что сервер работает и доступен. Что может быть причиной этой проблемы и как ее исправить?

Я так понимаю api.example.com — это заполнитель для какого-то реального домена, которым вы владеете.

Jaromanda X 26.05.2024 18:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
2
68
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вашему экспрессу, вероятно, понадобится такое промежуточное программное обеспечение.

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

Другие вопросы по теме