2017-02-06 2 views
-1

ich eine Taste, die Knoten Express Routen bekommen Anfrage nicht funktioniert

<a href="/data_entry?Display=A&ts=<%=dateStamp%><%=locTimeStamp%>">A</a> 

Mein Weg zu

verbindet,

router.get('/data_entry/:Display/:ts', function(req,res){ 
console.log('get display'); 
}); 

Ist das nicht auf Klick aufgerufen wird. Der Link wird in der URL übergeben, die Seite bleibt jedoch auf der aktuellen Seite.

+0

Sie einen Pfad angegeben, der als '/ data_entry/etwas/somethingelse' verwendet werden sollte, und versucht, zu verwenden, um mit'/data_entry foo = etwas & bar = Irgendwas ". –

Antwort

3

Die Anzeige und ts als Variablen auf das Request-Objekt (erf) so geleitet, um die Werte der von der URL für den Zugriff auf sie in req.query sein speichert

router.get('/data_entry', function(req, res){ 
    // req.query will store the display and ts values 
    console.log(req.query.Display); 
} 

Mit diesen Änderungen Code wie erwartet

funktionieren
0

um diesen Weg zu nutzen, müssen Sie es wie diese

curl -X GET "http://localhost:3000/data_entry/A/<%=dateStamp%><%=locTimeStamp%>" 

Seien Sie sicher, auch die URI richtig zu codieren nennen. Siehe: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI

Wenn Sie Abfrageparameter anstelle von benannten Parametern verwenden möchten, würden Sie Ihre Route anders definieren und dann die Abfrageparameter verwenden. Siehe: http://expressjs.com/en/4x/api.html#req.query

Es würde wie folgt aussehen:

app.get('/data_entry', function (req,res){ 
    console.log('get display', req.query); 
}); 
Verwandte Themen