Ich verwende reagieren, um Daten an meine API zu senden. Jede POST-Anfrage, die ich mache, gibt mir eine OPTIONS-Anfrage, und ich muss das beheben. Ich denke, ich muss vielleicht eine Preflight-Struktur erstellen, aber nachdem ich darüber gelesen habe, weiß ich immer noch nicht, wie ich es implementieren soll.So aktivieren Sie CORS von Nodejs Server
Im Moment arbeite ich als so meine API anschließe ...
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
})
});
Diese onSubmit
genannt wird. Ich sende einige Daten an meine POST-Anfrage, also nehme ich an, dass ich diese Header benötige.
Jetzt in meinem Knoten js-Server-API habe ich die folgende Prozedur ...
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");
...
Dies funktioniert nicht, aber wenn ich eine Anfrage bekomme ich ...
OPTIONS /login 200 8.570 ms - 4
Wenn Ich entferne die Header, die der POST funktioniert, aber die Daten (Benutzername, Passwort) werden nicht durchgelassen.
Wie kann ich dieses OPTIONS Problem umgehen?
Scheck schreiben http://stackoverflow.com/q/7067966/3284355 – Molda