服務器端:從服務器端獲取的客戶端變量(express.js,node.js中)
app.get('/auth', function(req, res) {
res.render('auth.jade', {
variable: true
});
});
如何獲得變量「變量」上的客戶端從服務器端?
我嘗試:
alert(variable);
服務器端:從服務器端獲取的客戶端變量(express.js,node.js中)
app.get('/auth', function(req, res) {
res.render('auth.jade', {
variable: true
});
});
如何獲得變量「變量」上的客戶端從服務器端?
我嘗試:
alert(variable);
您無法直接在瀏覽器窗口的客戶端javascript中的節點應用程序中獲取服務器端變量。雖然他們支持相同的編程語言,但它們只是兩種不同的運行時間。
你的問題是關於如何客戶端JavaScript可以溝通服務器端資源如/auth
。選項如下:
在您的網頁上用jade模板呈現腳本標記中的數據。例如:
html(lang="en")
head
title= pageTitle
script(type='text/javascript').
var generatedData = {variable:true}
body
然後你可以用alert(generatedData)
來得到它。請注意,數據必須是可序列化的數據,無需任何功能或參考。
通常人們使用JSON,這意味着您需要編寫一些客戶端代碼與服務器端資源進行通信。像在客戶端使用jQuery:
$.get('/auth').done(function(data){ alert(data); });
使用服務器端代碼,其中它在JSON通過自動快速響應對象發送數據:
app.get('/auth', function(req, res) {
res.send({
variable: true
});
});
目的{variable:true}
將只可用在auth.jade當玉編譯它。您可以將它添加到隱藏的元素中,並使用客戶端JavaScript讀取它,或者更好的方法是將它作爲json從ajax調用中獲取。