Node.js übergibt Parameter per Express-Rendering an den Client

8

Ich verwende Node.js und habe Probleme bei der Kommunikation mit einem Client.

Ich definiere Express:

%Vor%

Wenn ich versuche, beim Anfordern einer Seite einen Parameter an den Client zu übergeben, enthält die Variable keine Daten, zum Beispiel:

%Vor%

Wenn ich auf der Indexseite die Variable zum Drucken der Variable ( name ) verwende, wird "" zurückgegeben.

Weitere Informationen: Ссылка

Vermisse ich etwas oder mache ich etwas falsch?

    
g571792 29.03.2015, 10:30
quelle

3 Antworten

9

Die Variable name , die Sie an die Renderfunktion gesendet haben, ist nur beim Rendern der Seite verfügbar. Nachdem sie an den Client gesendet wurde, ist sie nicht zugänglich. Sie müssen es in Ihrer Ansicht in der Rendering-Phase verwenden.

Da Sie Lenker verwenden, können Sie ihn auf Ihrer Seite wie folgt anzeigen:

%Vor%

Wenn Sie diese Daten in einem Javascript verwenden möchten, verwenden Sie sie in einem script -Tag:

%Vor%     
victorkohl 29.03.2015, 11:29
quelle
7

Sie sagen im Grunde ausdrücklich, dass Sie Ihre Indexseite rendern und einen Wert für die Variable name angeben sollen, aber das macht die name var nicht unbedingt in Ihrem clientseitigen JavaScript verfügbar. Sie müssen Ihre Indexvorlage bearbeiten, um die Variable name auf der Seite anzuzeigen. Die Syntax hängt von der verwendeten Template-Engine ab (jade, ejs, dustjs).

Eine andere Lösung besteht darin, einen Ajax-Aufruf im Javascript Ihrer Clientseite zu verwenden und stattdessen res.json auf dem Server zu verwenden, um die Daten zu senden. Dann können Sie name in der Konsole auswerten. Ex mit jquery:

index.html:

%Vor%

server.js:

%Vor%     
Jean-Marc S. 29.03.2015 10:49
quelle
1

Wenn Sie Parameter auf der Clientseite über Javascript erhalten möchten, sollten Sie eine Vorlage wie diese <script>var data = data</script> erstellen, da sonst keine Variablen verfügbar sind

Wenn du Jade benutzt, wird es etwa so aussehen:

%Vor%     
marsh 29.03.2015 10:40
quelle

Tags und Links