jQuery.Form如何实现Ajax上传文件同时设置headers

小编给大家分享一下jQuery.Form如何实现Ajax上传文件同时设置headers,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

景德镇网站建设公司成都创新互联公司,景德镇网站设计制作,有大型网站制作公司丰富经验。已为景德镇上千家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的景德镇做网站的公司定做!

实例代码:

 function ajaxSubmitForm() {
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”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文标题:jQuery.Form如何实现Ajax上传文件同时设置headers
文章URL:http://ybzwz.com/article/ihioop.html