Lors de l'envoi d'une demande de publication en arrière-plan, il n'y a qu'une seule demande d'options mais aucune véritable demande de publication ne peut aboutir. Et si vous utilisez Postman, la demande de publication peut également aboutir. Dois-je configurer quelque chose ? Le code est le suivant :
Lors de l'envoi d'une demande de publication :
Envoyer la demande de réception :
Dans le milieu facteur, la poste peut avoir du succès.
Le code nodejs est le suivant :
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');
La réception utilise le $http d'Angular.
Ce que je veux demander, c'est pourquoi il n'y a que ces options multi-domaines lors de la publication
Déterminez d'abord pourquoi une demande
options
est envoyée (si vous la connaissez déjà, ignorez-la), voici les conditions préalables à l'envoi (demande de contrôle en amont).La requête GET n'ayant pas de pré-requête et étant envoyée directement, il n'y a aucun problème. Vous devez traiter la demande
réussie , la vraie demande sera envoyée paroptions
的请求,并且带上CORS需要的那些头,例如Access-Control-Allow-Origin
等,这样options
的预请求成功之后,才会接着发送真正的post
au back-end et apporter les en-têtes requis par CORS, tels queAccess-Control-Allow-Origin
, etc., afin qu'une fois la pré-demandepost
! ! !
, mais le statut de votre front-end montre que la demande a réussi ! ! ! Vous voulez savoir comment cela se fait ?options
J'ai moi-même une question. Je vois que votre code back-end n'a pas traité la demandehttps://github.com/wxungang/n...
Code complet