最近在項(xiàng)目中使用jquery.form插件進(jìn)行文件上傳時(shí),出現(xiàn)了一些問題。在點(diǎn)擊提交按鈕后,發(fā)現(xiàn)jquery.form并沒有發(fā)出請(qǐng)求。
<form id="fileUploadForm" enctype="multipart/form-data">
<input type="file" id="fileInput" name="fileInput"/>
<input type="button" onclick="uploadFile();" value="上傳"/>
</form>
<script>
function uploadFile() {
$('#fileUploadForm').ajaxForm({
beforeSubmit: function(formData, jqForm, options) {
//添加代碼
},
success: function(data) {
//添加代碼
},
error: function(data) {
//添加代碼
}
});
}
</script>
經(jīng)過反復(fù)排查代碼,發(fā)現(xiàn)問題出在beforeSubmit回調(diào)函數(shù)中。在這個(gè)函數(shù)中,我添加了一些自己的代碼,導(dǎo)致無法正常發(fā)出請(qǐng)求。
beforeSubmit: function(formData, jqForm, options) {
//添加代碼
return true; //必須返回true才能正常發(fā)出請(qǐng)求
}
解決方法很簡(jiǎn)單,只需要在beforeSubmit函數(shù)中添加return true語句即可,這樣ajax請(qǐng)求才能正常發(fā)出。
這個(gè)問題看似小,但卻花費(fèi)了我不少時(shí)間。希望我的經(jīng)驗(yàn)?zāi)軌驇椭狡渌龅酵瑯訂栴}的人。