小编给大家分享一下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”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联网站建设公司行业资讯频道,感谢各位的阅读!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。