1
在jQuery Mobile中,如果用户点击一个按钮,会出现一个加载图标,然后通过Ajax加载新的网页。jQuery Mobile Ajax导航超时
但是,在我的情况下服务器可能没有响应。有没有办法让超时(例如10秒)的ajax导航功能? (如果时间限制超过,请停止尝试导航并显示错误消息)
在jQuery Mobile中,如果用户点击一个按钮,会出现一个加载图标,然后通过Ajax加载新的网页。jQuery Mobile Ajax导航超时
但是,在我的情况下服务器可能没有响应。有没有办法让超时(例如10秒)的ajax导航功能? (如果时间限制超过,请停止尝试导航并显示错误消息)
要设置超时时间,我认为您不应该以静态方式执行此操作(使用“数据转换”) 您可以让侦听器链接('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
});
});
已经问 http://stackoverflow.com/questions/5225597/set-timeout-for-ajax-jquery – zizoujab 2012-08-05 13:53:49
我不明白他们的正确回答,我应该在哪里放置该代码?以及如何显示错误信息?你能给个例子吗? – 2012-08-05 14:01:49
如果你已经写了一些代码发布它,所以我们可以看到它有什么问题。因为在jQuery和jQuery手机中,有很多方法可以进行ajax调用。 – zizoujab 2012-08-05 14:13:02