But how do I opened a random d.jpg through Javascript to a URL that is in 
Python? 
On Tuesday, June 14, 2016 at 5:14:13 PM UTC+5:30, Anthony wrote:
>
> No, you're still attempting to run Python code in Javascript. You must 
> write actual Javascript code -- no Python. You should only be using Python 
> to create the base URL -- for example:
>
>     var baseUrl = '{{=URL('static', 'images')}}';
>     [everything else is Javascript]
>
> Anthony
>
> On Tuesday, June 14, 2016 at 7:38:15 AM UTC-4, Emmanuel Dsouza wrote:
>>
>> Thank you Anthony but still it is not going through!
>> Could you check why:
>>
>> {{extend 'layout.html'}}
>> <script>
>>     window.setInterval(function(){
>>         {{i=URL('static','images/%d.jpg' %(randint(0,2)))}}
>>   document.body.style.background = url("{{=i}}");
>> }, 5000);
>> </script>
>>
>>
>> Even this one doesn't work:
>>
>> {{extend 'layout.html'}}
>> <script>
>>     window.setInterval(function(){
>>         {{f=["lightblue","pink","green"]}}
>>         {{z=f[randint(0,2)]}}
>>         document.body.style.background = {{=z}};
>> }, 5000);
>> </script>
>>
>>
>> On Tuesday, June 14, 2016 at 12:29:52 PM UTC+5:30, Anthony wrote:
>>>
>>> Actually, in this case, you don't really need to bother with Ajax. 
>>> Instead, just implement the random integer generation in Javascript and use 
>>> the random integer to generate the URL in Javascript.
>>>
>>> For future reference, though, the third argument to the ajax() function 
>>> can be ":eval" (which tells it to evaluate the returned value as JS code) 
>>> or a JS function (which will be passed the returned value). See the 
>>> documentation.
>>>
>>> Anthony
>>>
>>> On Tuesday, June 14, 2016 at 1:58:32 AM UTC-4, Emmanuel Dsouza wrote:
>>>>
>>>> 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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to