Beim Senden einer Post-Anfrage im Hintergrund gibt es nur eine Optionsanforderung, aber keine echte Post-Anfrage. Die Get-Anfrage kann erfolgreich sein. Und wenn Sie Postman nutzen, kann auch die Postanforderung erfolgreich sein. Muss ich etwas konfigurieren? Der Code lautet wie folgt:
Beim Senden einer Postanfrage:
Get-Anfrage senden:
Im Postbotenumfeld kann die Post erfolgreich sein.
Der NodeJS-Code lautet wie folgt:
var app = require('express')();
var User = require("./users.js");
app.post('/users/login',function (req,res) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.send("foo");
console.log(res)
})
app.get('/users/login',function (req,res) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.send("bar");
})
app.listen('1090','127.0.0.1');
Die Rezeption verwendet Angulars $http.
Was ich fragen möchte, ist, warum es beim Posten nur diese domänenübergreifenden Optionen gibt
首先搞清楚为啥会发一个
options
的请求(如果你已经知道了就忽略好了),以下是发送(Preflight request)的先决条件。由于GET请求没有预请求,直接发送所以没问题。你在后端需要处理的
options
的请求,并且带上CORS需要的那些头,例如Access-Control-Allow-Origin
等,这样options
的预请求成功之后,才会接着发送真正的post
请求!!!我自己有一个疑问,我看你后端的代码是没有处理
options
的请求的,但是你前端的状态显示这个请求是成功的!!!想知道这个是怎么弄的?希望能帮到你
https://github.com/wxungang/n...
完整代码