最近在使用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; } }
這就是我的解決方法,不知道解決了您的問題沒有?