Hello everyone. I've read the docs [1] and also read several posts in this 
forum about this problem, however I can't figure out why it's still 
happening in my case. I was hoping you can help me.

In my application I have a simple page that makes an ajax async call to 
web2py in order to get some data. 
The controller/function that process the call takes a few seconds to 
complete (around 6-7 seconds).
During that time, if the user clics on a link in order to navigate to 
another page of the application, it doesn't respond. The whole application 
freezes until the ajax call completes.

In the documentation I've read about this, and this is the expected 
behaviour, because of the session file. So what I did is to put 
session.forget(response) at the top of the controller/function that process 
the ajax call. But this doesn't make any difference, the application still 
freezes until the ajax call is completed. I've also tried session.forget() 
and session._unlock(response) with no success.


This is the script that makes the ajax call:

<script type="text/javascript">
    $j = jQuery.noConflict();
    $j(document).ready(function() {
       $j.ajax({
          type: "GET",
          async: true,
          url: "{{=URL('default', '_dashboard')}}",
          success: function(data) { $j(".dashboard").html(data) }
       });
    });
</script>



And this is the controller/function that process the call:

@auth.requires(auth.is_logged_in() and auth.user.plantel)
def _dashboard():
    def get_info_dashboard():
        from gluon.contrib.simplejsonrpc import ServerProxy
        webservice = ServerProxy(CONFIG.url_webservice_central)
        return webservice.get_info_dashboard({'sitio': CONFIG.cliente})

    session.forget(response)
    info_dashboard = None
    try:
        r = cache.redis('info-dashboard', lambda: get_info_dashboard(), 
time_expire=300)
        if r.get('success'):
            info_dashboard = r.get('info_dashboard')
    except:
        pass
    return dict(info_dashboard=info_dashboard)



What could be the issue?

Thank you very much in advance.
Regards,
Lisandro.


[1] http://web2py.com/books/default/chapter/29/04/the-core#session

-- 
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