首页 >web前端 >js教程 >jQuery Form实现Ajax上传文件同时设置headers详解

jQuery Form实现Ajax上传文件同时设置headers详解

小云云
小云云原创
2018-01-06 10:07:291961浏览

本文主要介绍了jQuery.Form实现Ajax上传文件同时设置headers的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。

废话不多说了,关于jquery form实现ajax上传文件的方法,大家参考一下实例代码吧:


 <span style="font-family: Arial, Helvetica, sans-serif;">function ajaxSubmitForm() {</span>


var option = { 
     url : cache.batchImport, 
    type : &#39;POST&#39;, 
     dataType : &#39;json&#39;, 
     headers : {"token" : localStorage.getItem(&#39;token&#39;)}, //添加请求头部 
    success : function(data) { 
       console.log(&#39;success&#39;) 
   
  }, 
  error: function(data) { 
    console.log(&#39;error&#39;); 
  } 
 }; 
$("#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(&#39;MSIE&#39;)>-1; 
if(!isIE){ 
  $(&#39;#filePath&#39;).css(&#39;z-index&#39;,-1); 
}

相关推荐:

实例分享Ajax上传文件进度条Codular

JavaScript如何利用Ajax上传文件的方法介绍

PHP和AJAX上传文件

以上是jQuery Form实现Ajax上传文件同时设置headers详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn