jQuery Mobile Ajax导航超时

时间:2012-08-05 13:38:29

标签: javascript jquery html jquery-mobile

在jQuery Mobile中,如果用户点击某个按钮,会出现一个加载图标,然后通过Ajax加载新的网页。

但是,在我的情况下服务器可能没有响应。有没有办法为ajax导航功能设置超时(例如10秒)? (如果超出时间限制,请停止尝试导航并显示错误消息)

1 个答案:

答案 0 :(得分:1)

要设置超时,我认为您不应该以静态方式执行此操作(使用"数据转换") 你可以让链接听到(' onclick')并在监听器内进行ajax调用以加载你的页面。使用$.mobile.changePage()来执行此操作。

$.mobile.changePage()函数在jQuery Mobile中的许多地方使用。例如,单击链接时,会将其href属性规范化,然后$.mobile.changePage()处理其余属性。

所以你的代码看起来像这样:

$('#link_id').click(function() {
    $.ajax({
    url: "page_served_from_server",
        error: function(jqXHR, strError){
        if(strError == 'timeout')
        {
          //do something. Try again perhaps?
        }
    },
    success: function(){
        //charge your page :
       // $.mobile.changePage('yourPageAdress',"turn",false,true);
    },
    // here you can specify your timeout in milliseconds 
    timeout:3000
    });
});