廢話不多說了,關于jquery form實現ajax上傳文件的方法,大家參考一下實例代碼吧:
 <span style="font-family: Arial, Helvetica, sans-serif;">function ajaxSubmitForm() {</span> var option = {      url : cache.batchImport,     type : 'POST',      dataType : 'json',      headers : {"token" : localStorage.getItem('token')}, //添加請求頭部     success : function(data) {        console.log('success')      },   error: function(data) {     console.log('error');   }  }; $("#userForm").ajaxSubmit(option); return false; //最好返回false,因為如果按鈕類型是submit,則表單自己又會提交一次;返回false阻止表單再次提交 遇到一個問題,要在上傳文件的同時設置headers信息,但form表單提交可以上傳文件不能設置headers,ajax可以設置headers不能上傳文件,后來從網上找到了jQuery.form可以實現,代碼如上。
由于file按鈕不能設置樣式,要用一個按鈕來間接觸發file,但這在ie上不能實現,因為ie只可以直接觸發按鈕實現功能,所以要把file的位置和大小設置為和button一樣,但透明度設置為0覆蓋在button達到直接觸發控件的要求兼容ie。兼容后樣式在其他瀏覽器上又有問題了。
兼容其他瀏覽器樣式代碼如下:
var isIE = navigator.userAgent.indexOf('MSIE')>-1; if(!isIE){   $('#filePath').css('z-index',-1); } 以上所述是小編給大家介紹的jQuery.Form實現Ajax上傳文件同時設置headers,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答