Просто начиная с узла, экспресс и MongoDB (мангуста), и это то, что я пытаюсь сделать:Передача переменных (на стороне сервера/на стороне клиента) узел JS
- получить параметры из нефрита файл обратно в индекс .js через форму ✔
- результат запроса в index.js ✔
- , а затем вернуть результат обратно в нефрита и отобразить его ✖
search.jade
form(action='/searchByTitle', method='get')
input(type='text' name ='docTitle' placeholder='Title')
input(type="submit" value = 'submit')
index.js
...
var Document = require('../models/document');
...
router.get('/search', function(req, res){
res.render('search');
});
router.get('/searchByTitle', function(req, res){
var title = req.param('docTitle');
Document.find({ title: title }, function(err, doc) {
if (err) throw err;
console.log(doc);
});
});
в console.log(doc)
Я получаю JSON объект:
[ { _id: 57b4725b3cd1c8a028a6f686,
title: 'title123',
category: 'category123',
author: 'Anne',
date: Thu Aug 25 2016 02:00:00 GMT+0200 (Central European Daylight Time),
version: 1,
file: 'test.txt',
__v: 0 } ]
Как передать этот объект обратно search.jade, так что я могу показать это на странице?
Я знаю, что могу сделать res.render('search', {doc: doc});
, но к тому времени, когда оно отображается, страница уже отображается. Нужно ли мне как-то менять маршруты?
Вы пробовали res.json (doc)? – CamiloR
Он работает, он отображается в браузере, но моя проблема заключается в том, как отображать его рядом с формой поиска в search.jade .. – bobby