Node.js / Express / Mongoose - Hvordan sende JSON sammen med utsikt over objekt?

stemmer
1

Jeg ønsker å passere JSON- gjenstanden sammen med utsikt når jeg viser en modell objekt i Node / Express ved hjelp Mongo.

Curren rute (passerer bare visning):

app.get('/page/:customurl', function(req, res, next) {
  Page.findOne({ customurl: req.params.customurl.toLowerCase()}, function(error, page) {
    if (!page) return next(new NotFound('Document not found'));
    res.render('pages/page_show.ejs',
      { locals: {
          title: 'ClrTouch | ' + page.title,
          page:page,
      }
    });
  });
});

Kan jeg legge pagejson:page.toObject()til lokalbefolkningen og deretter sette pagejsonpå min side et sted? Da jeg prøvde at det viste seg som [objekt, Objekt] på nettleseren. Er det noen enkel måte å passere JSON til visningen?

Takk!

Publisert på 04/10/2011 klokken 17:16
kilden bruker
På andre språk...                            


1 svar

stemmer
6

Du bør se på JSON metoder

I node repl:

> var document = {a: 'first property', b: 'second property'};
> JSON.stringify(document)
'{"a":"first property","b":"second property"}'
> 

Hvis du trenger å svare på ruten på forskjellige måter (ex. Spurt via ajax) kan du enten sende en ny parameter til url app.get('/page/:customurl.:format', ...eller kontroll av forespørselshoder som er lagret ireq.headers

if ( req.headers["HTTP_X_REQUESTED_WITH"] === "XMLHttpRequest" ) {
  res.send(document);
} else {
  res.render(...);
}
Svarte 04/10/2011 kl. 20:13
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more