欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery.Form实现Ajax上传文件同时设置headers的方法

程序员文章站 2023-09-06 16:10:40
废话不多说了,关于jquery form实现ajax上传文件的方法,大家参考一下实例代码吧:

废话不多说了,关于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,希望对大家有所帮助