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.

Reply via email to