最近学习SpringMVC框架,这个框架在与前端进行数据交换的过程中与asp.net有些不同。由于之前的项目我一直从事前端开发工作,只在数据打包转发后,对其进行接收,处理,而没有关注过数据的序列化,反序列化,以及参数格式问题等,今天在这篇博客进行相关整理:
Question1:
发送ajax异步请求时的两种数据格式:
HTTP请求中的Content-Type字段是指http/https发送信息至服务器的内容编码类型,表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据,今天要提到ajax请求经常用到的两种资源类型:application/x-www-form-urlencoded,application/json。
(1)application/x-www-form-urlencoded:ajax请求时不设置任何contentType,默认将使用这种格式。这种格式的特点就是,name/value成为一组,每组之间用&联接,而name与value则使用=连接,user=username&pass=password的形式。使用这种contentType时,对于简单的json对象类型,如:{“a”:1,"b":2,"c":3} 这种,将也会被转成user=username&pass=password 这种形式发送到服务端。这种类型的参数提交方式有get和post两种,这两种方式的区别是前者把编码后的user=username&pass=pass