$.ajax contentType 和 dataType , contentType 主要设置你发送给服务器的格式,dataType设置你收到服务器数据的格式。
关于contentType属性
在http 请求中,get 和 post 是最常用的。在 jquery 的 ajax 中, contentType都是默认的值:application/x-www-form-urlencoded,这种格式的特点就是,name/value 成为一组,每组之间用 & 联接,而 name与value 则是使用 = 连接。如: wwwh.baidu.com/q?key=fdsa&lang=zh 这是get , 而 post 请求则是使用请求体,参数不在 url 中,在请求体中的参数表现形式也是: key=fdsa&lang=zh的形式。
如果传递的data数据是单层嵌套的json格式字符串,则默认格式即可,如果是有多层嵌套的复杂json格式字符串,则需要修改contentType:'application/json',不然服务端拿不到数据。
关于dataType属性
是设置收到的服务器数据类型,如果设置dataType:"json",则后台的返回值类型必须是Json格式的对象;如果没有设置此属性,服务器端返回什么数据类型,就是相应类型格式的字符串。