I was obviously waiting for your reply only.
Ok Anthony I got what you said. But how do I get a variable through an ajax
call? Ajax only updates a tag id, right?
How do I edit this to make it work?
in controller:
def index():
return locals()
in model:
def retimage():
from random import randint
i=randint(0,2)
return URL('static','images/%d.jpg' %(i))
in view:
{{extend 'layout.html'}}
<script>
window.setInterval(function(){
{{getimage=retimage()}}
document.body.style.background-image = url("{{=getimage}}");
}, 500);
</script>
I am confused on how to get a variable value though ajax calls. Please help
me on this.
On Monday, June 13, 2016 at 8:46:28 PM UTC+5:30, Anthony wrote:
>
> You cannot call Python functions on the server from Javascript code
> running in the browser. The following line:
>
> {{getimage=retimage()}}
>
> will be called exactly once on the server *before *the HTML page is ever
> sent to the browser, and it will not result in anything being written into
> the Javascript code (if you look at the page source in the browser, you
> will see nothing there).
>
> If you need to retrieve images from the server without reloading the page,
> you must use Ajax.
>
> Anthony
>
>
> On Monday, June 13, 2016 at 5:30:47 AM UTC-4, Emmanuel Dsouza wrote:
>>
>> CONTROLLER:
>>
>> def retimage():
>>
>> k=["URL('static','images/1.jpg')","URL('static','images/2.jpg')","URL('static','images/3.jpg')"]
>> from random import randint
>> i=randint(0,2)
>> return k[i]
>> def index():
>> return locals()
>>
>> VIEW:
>>
>> {{extend 'layout.html'}}
>> <script>
>> window.setInterval(function(){
>> {{getimage=retimage()}}
>> document.body.background = url("{{=getimage}}");
>> }, 5000);
>> </script>
>>
>>
>>
>> How should I correct this?
>>
>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.