Hello Thanks for the trick. But my left me wondering if gets other variables (no other variable had that value, rather it was a mix of several values) because when entering other sections that refresh the variables did not alter the result, even if another wrong? Thanks.
Regards Anto 2014-02-03 20:16 GMT+01:00 Alex Kocharin <[email protected]>: > > I'd really suggest to use jade with "self" option, this way you won't get > confused where these variables are coming from. > > > 03.02.2014, 14:51, "Anto" <[email protected]>: > > Hi > > Already solved. > > This has been fixed by changing the name of the variable in Jade. Know if > Jade uses local, global variables or is a bug. I understand that to be a > template should be local but it seems that using global variables. > > It's very strange, because if so, to enter another section, this variable > would refresh and would show other values, but once caused the fault always > showing the same data, a mixture of various data. > > # Nodej > > ,listProducts: mongoProducts > > # Jade > each product in listProducts > > Thanks ! > > Regards > Anto > > > 2014-01-29 Anto <[email protected]> > > Hi > > node-inspector died and not on the browser. If you run hard and routines > as planned, but I could not see the products object with failure. > > Regars > > > 2014-01-29 Anto <[email protected]> > > Yourselves know her some javascript parser? Because I'm debugger and > breadpoints jump on the rest of GET but not in this and I think there's > some bad code above or something. And I see it in 6k lines ... > > Thanks > > Regards > Anto > > > 2014-01-29 Angel Java Lopez <[email protected]> > > Can you show: > > - the retrieved document > - the jade ouput (relevant HTML from your browser source) > > Can you add something "definitive" to Jade, template, like p= new Date() > (I don't know if it is a valid Jade syntax). That is, a javascript > expression returning the current date/time, not in the model, but in the > view > > In this way, you will be more info about the result. It's not clear (in my > English understanding) if you have "cached" result (the same result that > one hour or one minute, or one second ago), or "mangled" (the result is not > what you expected but make senses, or the result is garbage, not expected, > non sense). > > Angel "Java" Lopez > @ajlopez > > > > > > > > On Wed, Jan 29, 2014 at 7:39 AM, Anto <[email protected]> wrote: > > Hello > > It has failed again despite all this, the variables have the right data > but once fault does not display properly. It's like jade take the cached > data from another object ( -> products: mongoProducts). Thanks > > Regards > Anto > > > 2014/1/29 Anto <[email protected]> > > Hello > > It is possible that even use var to define the variable, may exist a bug > and take it as a global and have several requests resulting into failure? > > I've also changed this part of the code being as follows: > > > app.get('/brand/:identifier', function(req, res){ > > //var identifier = req.params.identifier.toLowerCase(); > var term = req.params.identifier.toLowerCase(); > > brands.find({ active: true, 'brandName' : { $regex : new RegExp(term, > "i")} }).populate({ > > path: 'shop' > > ,select: 'name shop description' > > }).sort({dateAdded: 'desc'}).exec(function(err, > mongoProducts) { > if(mongoProducts && mongoProducts.length) { > > console.log('Data doc: ' + mongoProducts); > > return res.render('brand_list', { > shop: > mongoProducts[0].shop.shop > ,name: mongoProducts[0]. > shop.name > ,description: > mongoProducts[0].shop.description > ,products: mongoProducts > ,pageTitle: > mongoProducts[0].shop.shop > ,pageUrl: ' > http://backofficeserver.local/brand/' + term > }); > > } else { > > return res.render('brand_list', { > shop: > mongoProducts[0].shop.shop > ,name: mongoProducts[0]. > shop.name > ,description: > mongoProducts[0].shop.description > ,error: 'Not product´s > found' > ,pageTitle: > mongoProducts[0].shop.shop > ,pageUrl: ' > http://backofficeserver.local/brand/' + term > }); > > } > }); > > }); > > - Jade (resumed) > > if error > h4= error > else > h4= 'List of products' > if products > each product in products > li.product(id=product.identifier, name=product.identifier) > a(href='/show/' + product.identifier, target='_blank') > > I'll see if it works and the result I will comment. Thanks > > Regards > Anto > > > 2014/1/29 Anto <[email protected]> > > hello Ryan > > If I use var to declare variables, was in the transcript of this message I > delete it by mistake, by eliminating several console.log for you they had > the cleanest code. I´m sorry. > > Thanks ! > > Regards > Anto > > > 2014/1/29 Ryan Schmidt <[email protected]> > > > On Jan 28, 2014, at 19:39, Anto <[email protected]> wrote: > > > The code is as follows: > > > > - Nodejs + Expressjs > > > > app.get('/brand/:identifier', function(req, res){ > > > > identifier = req.params.identifier.toLowerCase(); > Because you have not used "var" to declare it, "identifier" is a global > variable. This is a problem. Check your other code for this problem as well. > > > brands.find({ active: true, 'brandName' : { $regex : new > RegExp(identifier, "i")} }).populate({ > > > path: 'shop' > > > ,select: 'name shop description' > > > }).sort({dateAdded: 'desc'}).exec(function(err, > doc) { > Here, you are firing off an asynchronous function (brands.find); when it > is done, the anonymous function (function(err, doc){...}) will be called > with the result. > > > if(doc && doc.length) { > > > > console.log('Data doc: ' + doc); > > > > return res.render('brand_list', { > > shop: doc[0].shop.shop > > ,name: doc[0].shop.name > > ,description: > doc[0].shop.description > > ,products: doc > > ,pageTitle: > doc[0].shop.shop > > ,pageUrl: ' > http://backofficeserver.local/brand/' + identifier > > }); > > > > } else { > > > > return res.render('listado_shop', { > > shop: doc[0].shop.shop > > ,name: doc[0].shop.name > > ,description: > doc[0].shop.description > > ,error: 'Not product´s > found' > > ,pageTitle: > doc[0].shop.shop > > ,pageUrl: ' > http://backofficeserver.local/brand/' + identifier > > }); > > > > } > Here you are rendering the jade template, using various values, including > that global variable "identifier". But between the time that this request > started, and the time that the database returned the result and the > template was rendered, another request may have started and overwritten the > "identifier" variable with a different value. > > Use "var" to declare your local variables so that they stay local and > don't pollute other requests. > > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to a topic in the > Google Groups "nodejs" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/nodejs/2SxmvchhHaM/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to the Google Groups > "nodejs" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > > For more options, visit https://groups.google.com/groups/opt_out. > > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to a topic in the > Google Groups "nodejs" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/nodejs/2SxmvchhHaM/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to the Google Groups > "nodejs" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to a topic in the > Google Groups "nodejs" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/nodejs/2SxmvchhHaM/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
