http头部content-type与数据格式
2016-11-02 16:52
330 查看
http 头部中的 content-type 和我们传递的数据是息息相关的,不同的取值,服务器解析处理方式不同,
介绍一下几种常见的方式
text/plain:ajax默认方式,将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理(最原始的流)
application/x-www-form-urlencoded :
form表单默认的方式,在$.ajax中如果未设置contentType默认也会以这种方式, 在servlet中的把对应的key、value进行相应的处理添加到Map中,所有才能通过request.getParameter()获取,在servlet中的request.getParameter()只能取到
在url 后面的参数与 这种方式提交的数据,
注意: 这种方式传递的数据千万不能乱用JSON.Stringify()格式化,只能传入原始对象(LZ开始就犯了这样的错,导致取不到值)
也正用于此(支持普通表单、文件上传,若是传文件则服务器采用特有formdata的解析方式),传递的时候通过流的形式,数据包的格式也有所不同
注意:这里 传入的数据必须格式化JSON.stringify(),不能直接传入原始对象,servlet中解析的时候通过读流的方式(不包含formdata格式)
y
$.ajax 中提供了一些其它方式 http://www.cnblogs.com/fuqiang88/p/4618652.html
数据传输通过chrom开发工具可获取到的数据
1、get方式,会在url后面添加参数,并在包含在 Query String parameters
2、post方式
a、form-data, 这种设置conten-type为application/x-www-form-urlencoded ,servlet
中可通过request.getParameter()获取
b、Request-Payload,通过输入流来获取,在上面已介绍。
参考文章 http://zccst.iteye.com/blog/2180127
介绍一下几种常见的方式
text/plain:ajax默认方式,将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理(最原始的流)
application/x-www-form-urlencoded :
form表单默认的方式,在$.ajax中如果未设置contentType默认也会以这种方式, 在servlet中的把对应的key、value进行相应的处理添加到Map中,所有才能通过request.getParameter()获取,在servlet中的request.getParameter()只能取到
在url 后面的参数与 这种方式提交的数据,
注意: 这种方式传递的数据千万不能乱用JSON.Stringify()格式化,只能传入原始对象(LZ开始就犯了这样的错,导致取不到值)
var info={ "name":"yhy", age:22 } $.ajax({ url: 'ddds' , type: 'post', data: info, async: true, dataType:'json', success: function (data,state) { }, error: function (data,state) { } , });multipart/form-data :多用于文件上传,html5伴随出现的formdata
也正用于此(支持普通表单、文件上传,若是传文件则服务器采用特有formdata的解析方式),传递的时候通过流的形式,数据包的格式也有所不同
注意:这里 传入的数据必须格式化JSON.stringify(),不能直接传入原始对象,servlet中解析的时候通过读流的方式(不包含formdata格式)
StringBuffer json = new StringBuffer(); String line = null; try{ BufferedReader reader = request.getReader(); while((line=reader.readLine())!=null){ json.append(line); } } catch(Exception e){ System.out.println(e.toString()); } System.out.println(json.toString());application/json :这是现在比较常用的方式,在发送数据之前需格式化数据JSON.stringify(),确保格式的正确性,服务器解析方式和上面第二种一样,先获取json字符串在转为JSON对象
y
$.ajax 中提供了一些其它方式 http://www.cnblogs.com/fuqiang88/p/4618652.html
数据传输通过chrom开发工具可获取到的数据
1、get方式,会在url后面添加参数,并在包含在 Query String parameters
2、post方式
a、form-data, 这种设置conten-type为application/x-www-form-urlencoded ,servlet
中可通过request.getParameter()获取
b、Request-Payload,通过输入流来获取,在上面已介绍。
参考文章 http://zccst.iteye.com/blog/2180127
相关文章推荐
- http头部content-type与数据格式
- http协议之response案例三:【content-type】--服务器发送给浏览器的数据类型和数据编码格式
- Content-Type的几种常用数据编码格式
- HTTP协议安全头部X-Content-Type-Options引入的问题
- php知识点1-HTTP头部-Content-Type类型
- http请求头部content-type不同类型的解析方式
- 关于HTTP协议头部Content-Type 信息的一张表
- 关于loadrunner使用web_add_header添加HTTP信息头(比如Content-Type,token等)和使用web_custom_request()提交json数据
- 解析Content-Type: multipart/form-data格式数据
- 文件上传 content-type:application/json System.Web.HttpContext.Current.Request.InputStream 读取不到数据
- HttpServletResponse响应数据--setContentType
- ext ajax发送 json格式数据 设置content-type
- office各种格式文件对应的MIME Type/http:Content-Type
- 关于loadrunner使用web_add_header添加HTTP信息头(比如Content-Type,token等)和使用web_custom_request()提交json数据
- http post请求的content-type决定数据提取方式
- php知识点3-HTTP 头部-Accept与Content-Type的区别
- Content-Type的几种常用数据编码格式【原创】
- http content-type常见文件格式类型
- PostedFile.ContentType所有格式
- HTTP中的常见content-type类型