2016-08-08 19 views
0

Ich bin ein dummes Problem mit Express und NodeJS gegenüber,ein Problem, wenn ein einfachen ausdrücklichen Wunsch mit

Ich habe einen einfachen Code, den die die Möglichkeit geben, zu überprüfen, ob die Header vorhanden ist oder nicht in der Anfrage:

var express = require('express'); 

var app = express(); 

app.get('/', function (req, res) { 

    if (req.headers["x-caller-id"]) { 
     res.status(200).send('found'); 
    } else { 
     res.status(400).send('Header missing');  
    } 
}); 

app.listen(3000); 

Alles funktioniert gut, aber nur wenn ich diese Anfrage verwende, zeigt es nicht, was ich suche. Dies sollte zeigen gefunden, aber es funktioniert nicht

enter image description here

ich eine seltsame Sache bekam, wenn ich den Referer oder User-Agent-Header starten es funktioniert gut, aber wenn ich hinzufüge, beide zu der Anfrage, x-caller-id verschwindet

+0

Haben Sie Ihren Browser Web-Entwickler-Tools überprüfen, um zu überprüfen, ob die Netzwerkanforderung diesen Header gesendet hat? – mscdex

+0

Es sollte so funktionieren, wie Sie es haben. Vielleicht die Kopfzeilen, die die App bekommt, trösten? – ldg

+0

Es wird undefined –

Antwort

0

können Sie req.get('headername') verwenden, um den Header Inhalt zu erhalten.

var express = require('express'); 

var app = express(); 

app.get('/', function (req, res) { 

    if (req.get("x-caller-id")) { 
     res.status(200).send('found'); 
    } else { 
     res.status(400).send('Header missing');  
    } 
}); 

app.listen(3000); 

Quelle: http://expressjs.com/en/api.html#req.get

+0

Vielen Dank für Ihre Antwort! aber ich habe das gleiche Problem, hast du es getestet? –

+0

Was ist die Express-Version, die Sie verwenden? – Bamieh