ajax中的application/x-www-form-urlencoded中的使用
ajax中的application/x-www-form-urlencoded中的使用一,HTTP上传的基本知识 在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。下边是说明: application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。 multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。 text/plain:窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。 补充 form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application /x-www-form-urlencoded。 当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1& amp; amp;name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。当action为post时候,浏览器把form数据封装到http body中,然后发送到server。如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。但是如果有 type=file的话,就要用到multipart/form-data了。浏览器会把整个表单以控件为单位分割,并为每个部分加上 Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件 name)等信息,并加上分割符(boundary)。 二,使用中需要注意的地方在AJAX往服务器上传数据是,设置了content-type为application/x-www-form-urlencoded,此时是对整个发 送内容作了编码,并不是对名字对应的值做了编码。因此,在服务器端,通过request.getParameter("name")的方式取值,是有问题 的。 有两种解法办法:1)改服务器端: 采用流的方式硬编码InputStream stream=request.getInputStream(); InputStreamReader isr=new InputStreamReader(stream); BufferedReader br=new BufferedReader(isr); String str=br.readLine(); System.out.println(str);str=URLDecoder.decode(str,"gb2312"); System.out.println(str); br.close();2)改客户端:更改数据发送结构在往服务器上发数据的时候,使用name=escape(value)的方式组对此时在服务器代码中,通过request.getParameter("name")获得的数值,就不用编码了
转载于:https://www.cnblogs.com/shaoshao/p/3398991.html
ajax中的application/x-www-form-urlencoded中的使用相关推荐
- 【Android 安全】DEX 加密 ( Application 替换 | 替换 LoadedApk 中的 Application mApplication 成员 )
文章目录 一. 当前 Application 替换进度 二. 替换 LoadedApk 中的 Application mApplication 成员 一. 当前 Application 替换进度 上一 ...
- Http请求中Content-Type讲解以及在Spring MVC中的应用
引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值 ...
- [转]Http请求中Content-Type讲解以及在Spring MVC中的应用
本文转自:http://blog.csdn.net/blueheart20/article/details/45174399 引言: 在Http请求中,我们每天都在使用Content-type来指定不 ...
- 解析ajax数据显示到from表单中,jQuery Ajax从另一页上的Form请求中提取数据?
我想用jQuery和ajax抓取页面的一些元素......没问题.但是,直到用户单击表单中的按钮时才会显示这些元素,因此除非执行该操作,否则实际上我无法从页面中取出任何内容.任何人都知道这可以实现吗? ...
- ajax_contenttype,$.ajax中contentType: “application/json” 的用法详解
具体内容如下所示: $.ajax({ type: httpmethod, cache:false, async:false, contenttype: "application/json; ...
- springboot yml怎么建常量_【Java】SpringBoot 中从application.yml中获取自定义常量
由于这里我想通过java连接linux,connection连接需要host.port.username.password及其他路径等等.不想每次修改的时候都去改源文件,所以想写在applicatio ...
- 用JQuery中的Ajax方法获取web service等后台程序中的方法
用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...
- get 与 post的区别?application json 与form表单的区别?
这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [get 与 p ...
- ajax异步获取数据后动态向表格中添加数据的页面
因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 [html] view plaincopyp ...
- ajax异步获取数据后动态向表格中添加数据(行)
因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 [html] view plaincopyp ...
最新文章
- VC.NET扩展Windows磁盘清理工具的功能
- 开发健壮的企业级应用的研究
- mysql创建用户以及授权
- 使用EL表达式接收url的传值
- 解决mysql表不能查询修改删除等操作并出现卡死
- 腾讯云搭svn服务器,腾讯云使用笔记二: 安装svn服务器及web同步
- c++ string后面会添加‘\0‘
- weblogic命令行操作
- 用C#写XML类型的配置文件:
- Java编程基础知识(一)
- 开源控件My97DatePicker的基本用法
- C++ gflags
- 笔记本电脑打开计算机里面会跳,笔记本电脑为什么闪屏_笔记本电脑闪屏的原因及处理方法...
- FTP报550异常-Create directory operation failed
- 宿主机无法访问虚拟机web服务器,宿主机无法访问虚拟机中的docker容器怎么办_网站服务器运行维护,宿主机,虚拟机,docker...
- 转换上课周次字符串(我带着困惑我一周之久的编程题来了)
- IIS 设备未就绪。
- 让你的应用完美适配平板
- 如何使用html实现在线秒表,请使用js实现一个秒表计时器的程序
- y5_运五飞机最新改进型号——Y5BG
热门文章
- php-5.6.26源代码 - hash存储结构 - hash算法
- BZOJ 4520: [Cqoi2016]K远点对
- 【转载】快速掌握一个语言最常用的50%
- 使用awk进行文本处理
- 《Netty Zookeeper Redis 高并发实战》 图书简介
- ZOJ - 4114 Flipping Game
- java 生成jar包并保留注释
- Android进阶笔记18:Android 获取Button的高度、宽度、坐标值
- 《C++ Primer Plus》学习笔记0
- UNIX网络编程卷1 时间获取程序server UDP 协议无关