Как обработать предполетный запрос CORS с помощью Node-сервера? - PullRequest
0 голосов
/ 03 июня 2018

Я настроил COR на моем Node-сервере, как показано ниже.

var originsWhitelist = [
  'http://localhost:4200'     //this is my front-end url for development

];
var corsOptions = {
  origin: function(origin, callback){
        console.log(origin);
        var isWhitelisted = originsWhitelist.indexOf(origin) !== -1;
        console.log(isWhitelisted);
        callback(null, isWhitelisted);
  },
  credentials:true
}

app.use(cors(corsOptions))

И я отправляю данные json с внешнего интерфейса Angular, но во время этого я получаю ошибку, подобную этой, ОПЦИИ http://localhost:30000/api/addProfile0 ()

И заголовок моего запроса:

Provisional headers are shown
Access-Control-Request-Headers: content-type
Access-Control-Request-Method: POST
Origin: http://localhost:4200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36

Итак, у меня есть другой почтовый запрос, в котором я отправляю multipart / from data, но он работает нормально, пока этот запрос отправляет ошибку иОтвет - неизвестная ошибка.

1 Ответ

0 голосов
/ 03 июня 2018

Это должно сделать это:

app.options('*', cors(corsOptions));

Вы должны прочитать документ: https://github.com/expressjs/cors#enabling-cors-pre-flight

Также эта проблема довольно странная для меня, потому что браузер долженне запускать предполетную проверку по запросу POST.Может быть, я что-то упускаю из-за CORS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...