I am very familiar with controllers/views/helpers the way you just specified, but it doesn't help me because here is my context: I am using ajax function from JavaScript, as a response to a certain event on the page. This ajax is called with :eval option which allows me to construct actual JavaScript string to be executed (the one that in my example represented by result+=...); the reason I can't use a regular JS ajax call which replaces html element is because I specifically need to update multiple targets, so :eval is my only option). I can't use regular {{...}} embeds either, because I can't reload the page - need to update multiple html elements on the fly, in ajax mode. That's why my only option seems to be constructing JavaScript which executes the necessary updates on the page as a sequel to JavaScript ajax(:eval) call. This is exactly how I ended up constructing JavaScript in my controller function and the need to mix in some web2py objects in it.
On Tue, May 21, 2019, 6:24 PM villas <villa...@gmail.com> wrote: > Not sure what you are trying to do, work in the controller or view, or why > you are trying to append with JS. > > Maybe you could learn to use the web2py helpers... > e.g. controller > def example(): > cart = db(db.cart).select().as_list() > mydiv = DIV(cart, _id='Debug_Discount' ) > return dict(mydiv=mydiv) > > view example.html > {{=mydiv}} > > OR > e.g. controller > def example(): > cart = db(db.cart).select() > mydiv = DIV(_id='Debug_Discount' ) > return dict(mydiv=mydiv, rows=rows) > > view example.html > {{=mydiv}} > <hr /> > <script> > {{ =ASSIGNJS(cart) }} > $('#Debug_Discount').html(cart); > </script> > > Not sure whether any of the above will work or help, but just experiment > until you learn how best to mix it all together. > > > > On Tuesday, 21 May 2019 17:40:59 UTC+1, Vlad wrote: >> >> ALMOST :) >> >> result += ASSIGNJS(cart=cart) >> result += "$('#Debug_Discount').append('<div>'+cart+'</div>');" >> >> this comes out as [object Object] >> >> But generated Javascript (as far as the object's content is concerned) >> seems right - I think I am missing the final touch, some javascript trick >> that would print it fully. >> >> Here is actual Javascript generated: >> >> $('#Debug_Discount').append('<hr/>'); >> var cart = [{"id": 125, "cart": 40, "product": 161, "quantity": 1, >> "price": 3000, "imported": null, "is_active": true, "created_on": >> "2019-05-17 15:47:52", "created_by": 1, "modified_on": "2019-05-17 >> 15:47:52", "modified_by": 1}]; >> $('#Debug_Discount').append('<div>'+cart+'</div>');. >> >> Good ideas on final touch? >> >> On Tuesday, May 21, 2019 at 11:34:54 AM UTC-4, villas wrote: >>> >>> Maybe this: ASSIGNJS >>> >>> http://www.web2py.com/books/default/chapter/29/05/the-views#ASSIGNJS >>> >>> >>> >>> On Tuesday, 21 May 2019 15:43:25 UTC+1, Vlad wrote: >>>> >>>> I am calling ajax function with :eval and setting up some javascript >>>> [from the controller] to be executed [as per :eval option js is executed in >>>> the end], something like this: >>>> >>>> result = "$('#DebugID').append('<p>" >>>> result += "CONTENT" >>>> result += "</p>');" >>>> return result >>>> >>>> Now, this works, and it displays <p>CONTENT</p> at the right place. >>>> >>>> But here is a catch: instead of "CONTENT" I want it to display an >>>> object, for example Rows object which is returned by db.select. >>>> In other words, whatever comes out when {{=rows}} is specified in html >>>> view, I want to send via javascript. >>>> >>>> Obviously, the following 2 options are grossly incorrect and don't >>>> work, for obvious reasons: >>>> result += XML(rows) >>>> result += "={{rows}}" >>>> >>>> So, how do I make the stuff display properly as passed over vial >>>> javascript? >>>> >>>> >>> -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/oGAP28q6c_Q/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/web2py/c5abcf26-bfd9-4461-baea-2f62ea695d61%40googlegroups.com > <https://groups.google.com/d/msgid/web2py/c5abcf26-bfd9-4461-baea-2f62ea695d61%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/CABZ%2BKCD3OZtPgka-u-koFFN3QqxyYK_n94G34rhmuNTdKxebuQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.