IE和FireFox 对FORM enctype属性的认识存在差异,一般来说对于动态创建的form,如果因为要上传文件的原因很自然的会使用类似如下的代码:

1  //create form

2  this.form = document.createElement("FORM");
3  this.form.id = "jasonUploadForm";
4  this.form.name = "jasonUploadForm";
5  this.form.method = "post";
6  this.form.action = actionTarget;
7  this.form.enctype = "multipart/form-data";
8  document.body.appendChild(this.form);

这段代码表面上看没有什么问题,但在IE中却还是无法改变FORM的编码格式,

也就是说传到服务端的ContentType仍然是:"application/x-www-form-urlencoded”.

但在FireFox中却能正确识别,也就能正常上传文件。

那如何才能使IE和FireFox都能正确按照我们的要求编码FORM 数据呢?找了N久终于找到了解决方案,就是直接指定encoding就行了,且看如下正确的代码:

1  //create form
 2  this.form = document.createElement("FORM");
 3  this.form.id = "jasonUploadForm";
 4  this.form.name = "jasonUploadForm";
 5  this.form.method = "post";
 6  this.form.action = actionTarget;     
 7     
 8  //this.form.setAttribute("enctype", "multipart/form-data");
 9  this.form.encoding = "multipart/form-data";
10         
11  document.body.appendChild(this.form);

【我也是遇到了上传文件,chrome浏览器可以,但是IE浏览器一直上传失败;就是因为enctype的设置不对;】

IE和FireFox 对FORM enctype属性的认识存在差异的更多相关文章

  1. HTML form enctype 属性试验

    HTML form enctype http://www.w3.org/TR/html401/interact/forms.html#h-17.13.1%E2%80%8D enctype= conte ...

  2. HTML 5 <form> enctype 属性

    值 描述 application/x-www-form-urlencoded 在发送前对所有字符进行编码(默认). multipart/form-data 不对字符编码.当使用有文件上传控件的表单时, ...

  3. C# HTTP系列10 form表单的enctype属性

    系列目录     [已更新最新开发文章,点击查看详细] 在ASP.NET编程中经常遇到下面的代码片段,将人员信息以表单方式提交到后台程序并保存到服务器与数据库中. <form action=&q ...

  4. 表单中<form>的enctype属性

    application/x-www-form-urlencoded.multipart/form-data.text/plain 上传文件的表单中<form>要加属性enctype=&qu ...

  5. form表单标签的enctype属性的作用

    Enctype是指定将数据回发到server时浏览器使用的编码类型.其编码类型有下面三种 一. application/x-www-form-urlencoded         这是通过表单发送数据 ...

  6. HTML <form> 标签的 enctype 属性

    HTML <form> 标签 定义和用法 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码. 默认地,表单数据会编码为 "application/x-www- ...

  7. form标签的 enctype属性

    1.enctype的定义: enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码. 默认地,表单数据会编码为 "application/x-www-form-urlencod ...

  8. Form的enctype属性

    Form的enctype属性 一般都使用html的Form表单通过HTTP POST方法发送Request body.下面是一个form: <form action="/process ...

  9. Form表单标签的Enctype属性的作用及应用示例介绍

    Enctype :指定将数据回发到服务器时浏览器使用的编码类型.用于表单里有图片上传. 编码类型有以下三种: application/x-www-form-urlencoded: 在发送前编码所有字符 ...

  10. HTML表单(form)的“enctype”属性

    Form元素的语法中,EncType表明提交数据的格式 属性值: application/x-www-form-urlencoded:在发送前编码所有字符(默认) multipart/form-dat ...

随机推荐

  1. EF Core DBFirst和CodeFirst 模式使用方法

    一.安装依赖包 1.Microsoft.EntityFrameworkCore 2.Microsoft.EntityFrameworkCore.Tools 3.Microsoft.EntityFram ...

  2. ECharts 柱状图横轴(X轴)文字内容显示不全

    1.问题描述 ECharts在限制显示区域大小或者数据内容过多的时候有时会使得柱状图横轴(X轴)显示不全的问题,效果如下图所示. 2.解决办法 1)更改grid布局 原来布局 option = { g ...

  3. Elasticsearch Mapping类型修改

    背景 通常数据库进行分库分表后,目前比较常规的作法,是通过将数据异构到Elasticsearch来提供分页列表查询服务:在创建Elasticsearch索引时,基本都是会参考目前的业务需求.关系数据库 ...

  4. 学习Java Day18

    一.面向对象(面向过程) 1. 面向对象 找对象(封装了过程)来干. 例如:洗衣服(洗衣机就是对象). 2. 面向对象思想特点 是一种更符合我们思想习惯的思想. 可以将复杂的事情简单化. 将我们从执行 ...

  5. Centos7下areaDetector IOC的编译(回收站捡回)

    在这里插入图片描述 补记:这篇应该是在CSDN发的第一篇,没经验,用那个markdown方式编辑发布的,修改起来好麻烦,而且流程的命令不方便copy粘贴,干脆就删掉了,后来重新整理了一篇.无意中又被我 ...

  6. JZOJ 5947.初音未来(miku)

    题目大意 维护一个数列 \(a_n\),\(m\) 次操作,每次对区间 \([l..r]\) 进行升序排序 求最后询问区间 \([L..R]\),输出 \(a_L,a_{L+1},···,a_{R}\ ...

  7. SpringBoot2.6.x及以上版本整合swagger文档

    SpringBoot的版本更新中引入了一些新的特性,并且Swagger的版本更新也同样引入了很多新的东西,这样就造成了许多配置无法实现一一对应的情况,因此高版本的SpringBoot集成Swagger ...

  8. Express 项目 Cookie 不能保存在 Application 中

    在前后端分离项目中,因为跨域策略,所以 Cookie 不能存储在浏览器的 Application 中.只能在请求的响应头处看到有 Set-Cookie: 1️⃣前端发送请求添加 withCredent ...

  9. 跟女朋友介绍十个常用的 Python 内置函数,她夸了我一整天

    内置函数是什么 了解内置函数之前,先来了解一下什么是函数 将使用频繁的代码段进行封装,并给它起一个名字,当我们使用的时候只需要知道名字就行 函数就是一段封装好的.可以重复使用的代码,函数使得我们的程序 ...

  10. 疑问:如何替代dtb文件

    学习设备树,想添加自己定义的节点,编译好了,但不知道如何替代原来的dtb文件