Почему добавление заголовков CORS к маршруту OPTIONS не позволяет браузерам получать доступ к моему API?

Мне понравился метод fileinput, описанный в этом ответе: Удаление строки из текстового файла (python)

Скажем, например, у меня есть файл с пустыми строками в он и я хочу удалить пустые строки, вот как я его решил:

import fileinput
import sys
for line_number, line in enumerate(fileinput.input('file1.txt', inplace=1)):
    if len(line) > 1:
            sys.stdout.write(line)

Примечание: пустые строки в моем случае имели длину 1

blockquote>

592
задан Quentin 17 June 2019 в 10:58
поделиться

3 ответа

Можно использовать промежуточное программное обеспечение Экспресса, заблокировать домен и методы.

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", process.env.DOMAIN); // update to match the domain you will make the request from
  res.header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE");
  res.header(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept"
  );
  next();
});
0
ответ дан 22 November 2019 в 21:58
поделиться

На вашем месте @OP я изменил бы свою парадигму программирования.

принятие Вы блокировали эти CORS, потому что Вы выполняете запросы к localhost или чему-то подобному.

В конечном счете, если Вы собираетесь развернуться к производству optoins как Google Cloud Platform или Heroku или, Вы будете, не должны волноваться о CORS, любят, позволяют источник или безотносительно когда в производстве.

поэтому при тестировании сервера просто используют postman, и Вы не будете получать заблокированный CORS, после этого развертывать Ваш сервер и затем работать над Вашим клиентом.

0
ответ дан 22 November 2019 в 21:58
поделиться

Самый легкий ответ должен просто использовать пакет трупа .

const cors = require('cors');

const app = require('express')();
app.use(cors());

, Который включит CORS через плату. Если Вы хотите изучить, как к включают CORS без внешних модулей , все, в чем Вы действительно нуждаетесь, приблизительно промежуточное программное обеспечение Экспресса , который устанавливает 'Access-Control-Allow-Origin' заголовок . Это - минимум, который необходимо позволить доменам перекрестного запроса с браузера на сервер.

app.options('*', (req, res) => {
  res.set('Access-Control-Allow-Origin', '*');
  res.send('ok');
});

app.use((req, res) => {
  res.set('Access-Control-Allow-Origin', '*');
});
0
ответ дан 22 November 2019 в 21:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: