colonne vertébrale, node.js (express) et Access-Control-Allow-Origin
Je suis de développer une application sur mon pc local. L'interface devrait être construit avec spinejs et le backend-api avec node.js.
La colonne vertébrale est en cours d'exécution sur le port 9294 et node.js est en cours d'exécution sur le port 3000.
dans la Colonne vertébrale j'ai ajouté à mon modèle le suivant:
@url: "http:localhost:3000/posts"
et dans mon express server
app.get('/posts', function(req, res){
console.log("giving ALL the posts");
res.header("Access-Control-Allow-Origin", "*")
res.json(posts);
});
Mais je suis toujours à la suite de erro dans google chrome:
XMLHttpRequest cannot load http://localhost:3000/posts. Origin http://localhost:9294 is not allowed by Access-Control-Allow-Origin.
Que dois-je faire ce que je peux accéder à mon api correctement? J'ai bien l'ajout de l'en-tête dans les réponses n'résoudre le problème.
source d'informationauteur soupdiver
Vous devez vous connecter pour publier un commentaire.
app.get
ne répondraGET
demandes. Si le navigateur est le contrôle en amont avec unOPTIONS
demande, exprimer enverra une erreur car il n'a pas tout les auditeurs de ces demandes. Essayez d'ajouter ce code en plus de la vôtre et de voir si cela fonctionne:Également note: si vous êtes à l'envoi de cookies à la demande (
withcredentials=true
), puis leAccess-Control-Allow-Origin
d'en-tête ne peut pas être*
il doit être la valeur exacte dans leOrigin
en-tête que le navigateur ajoute automatiquement à la requête ajax comme suit:C'est pour des raisons de sécurité - si vous êtes en train de faire quelque chose qui nécessite des cookies, alors il est plus probable que vous aurez envie de vérifier que le
origin
est un site web afin d'éviter Les attaques de type CSRF.Cette middleware permettra de la SCRO à l'aide de l'Express, la clé est la détection de la demande de contrôle en amont
OPTIONS
et de renvoyer une réponse pour éviter de 404 ou de dupliquer des requêtes de base de données.Voir la ressource: http://cuppster.com/2012/04/10/cors-middleware-for-node-js-and-express/