簡體   English   中英

呈現頁面后,是否有辦法將新數據從nodejs發送到jade?

[英]Is there a way to send new data from nodejs to jade after a page has been rendered?

例如,當頁面即將呈現時,我可以發送數據:

router.post('/login', function(req, res){
 res.render('filename', {title: 'File Name', FIles: JSON.stringify(doc)});
}

可以說filename.jade中有一個按鈕可以將數據發送回節點js,到達“ / getdoc”路由。 '/ getdoc'不會呈現任何新頁面,而是將數據保存在數據庫中。 並發回數據。 發送回doc的數據是數據庫中保存的所有文檔的字典:

router.post('/getcode', function(req, res){
 res.header('text/html').send(doc);
}

我已經嘗試過res.send和res.json。 如果我使用res.json或res.send,那么在客戶端,我會這樣檢索它: !{JSON.stringify(doc)}

簡短答案:

但是首先,JADE是一個渲染引擎,它接受玉文件和數據(可選)並在服務器端渲染HTML頁面。 然后,應用程序管道將該頁面發送給客戶端,由客戶端顯示該頁面。 客戶身上沒有玉。

現在,解決您的問題:

  • 您的路由看起來不錯,請使用res.json將數據作為JSON發送回去。
  • 使用客戶端腳本(普通JS或其他任何庫,如jQuery)通過AJAX調用該路由(單擊按鈕時),然后從接收到的數據中更新DOM。

我希望這有幫助。 發表評論/回復以進一步澄清。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM