jquery.form.js不能解决连接超时(timeout)的解决方法
最近在使用jquery.form.js提交包含文件的表单时,碰到了一个问题:当碰上网速较慢时,而我们又设置了timeout时,例如:
var options = { timeout: 3000 //限制请求的时间,当请求大于3秒后,跳出请求 }
我们的页面会死在这里,贴上F12开发者工具返回的结果:
此时,我们并没有处理错误的回调函数,而百度出来的例子中也只有这两个回调函数:
beforeSubmit: showRequest, //提交前的回调函数
success: showResponse, //提交后的回调函数
所以,我去官网查看API,官网:http://malsup.com/jquery/form/#options-object,果然找到了处理错误的回调函数:
error Callback function to be invoked upon error.
所以我的options是这么写的:
var options = { beforeSubmit: showRequest, //提交前的回调函数 success: showResponse, //提交后的成功的回调函数 error:showError, //提交后的错误的回调函数
timeout: 3000 //限制请求的时间,当请求大于3秒后,跳出请求
}
回调函数是这么写的:
function showError(responseText, statusText){ if(statusText=='timeout'){ layer.msg("服务器繁忙,请稍后再试!", {icon: 5,time:1500}); return; } }
这就是我的解决方法,不知道解决了您的问题没有?
作者:欲戴王冠.必承其重
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。