jQuery.Form实现Ajax上传文件同时设置headers的方法
废话不多说了,关于jqueryform实现ajax上传文件的方法,大家参考一下实例代码吧:
functionajaxSubmitForm(){
varoption={
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);
returnfalse;//最好返回false,因为如果按钮类型是submit,则表单自己又会提交一次;返回false阻止表单再次提交
遇到一个问题,要在上传文件的同时设置headers信息,但form表单提交可以上传文件不能设置headers,ajax可以设置headers不能上传文件,后来从网上找到了jQuery.form可以实现,代码如上。
由于file按钮不能设置样式,要用一个按钮来间接触发file,但这在ie上不能实现,因为ie只可以直接触发按钮实现功能,所以要把file的位置和大小设置为和button一样,但透明度设置为0覆盖在button达到直接触发控件的要求兼容ie。兼容后样式在其他浏览器上又有问题了。
兼容其他浏览器样式代码如下:
varisIE=navigator.userAgent.indexOf('MSIE')>-1;
if(!isIE){
$('#filePath').css('z-index',-1);
}
以上所述是小编给大家介绍的jQuery.Form实现Ajax上传文件同时设置headers,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!