Я использую реакцию на отправку данных в мой API. Каждый запрос POST, который я делаю, дает мне запрос OPTIONS, и мне нужно это исправить. Я думаю, мне, возможно, понадобится сделать предварительную структуру, но после прочтения этого я до сих пор не знаю, как ее реализовать.Как включить CORS с сервера Nodejs
На данный момент я соединяясь к моему API, как так ...
fetch('http://localhost:8080/login', {
method: 'POST',
mode:'cors',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
username: this.state.username,
password: this.state.password
})
});
Это называется onSubmit
. Я отправляю некоторые данные в мой запрос POST, поэтому я предполагаю, что мне нужны эти заголовки.
Теперь в моем узле JS API сервера У меня есть следующий обработчик ...
var responseHeaders = {
"access-control-allow-origin": "*",
"access-control-allow-methods": "GET, POST, PUT, DELETE, OPTIONS",
"access-control-allow-headers": "content-type, accept",
"access-control-max-age": 10,
"Content-Type": "application/json"
};
app.post('/login', function(req, res, next) {
if (req.method == "OPTIONS") {
res.writeHead(statusCode, responseHeaders);
res.end();
}
console.log("hello");
...
Это не работает, однако, когда я делаю запрос я получаю ...
OPTIONS /login 200 8.570 ms - 4
Если Я удаляю заголовки POST, но данные (имя пользователя, пароль) не передаются.
Как я могу обойти эту проблему?
Проверить это http://stackoverflow.com/q/7067966/3284355 – Molda