不知道大家是否了解ajax呢?了解的是否知道ajax传值的方式有哪些呢?以及接受的方式又有哪些呢?大家要是不了解的今天跟着小编的步伐一起了解,了解的今天跟着小编一起回顾复习下。
关于ajax不同方式的传值类型及接收方式
1.传值
先看看ajax的基本格式
url:传值的地址
type:传值类型 GET/POST
dataType:指定以什么方式来处理接受到的数据;json/text
data:请求的数据
contentType:请求发送至服务器时的data编码类型 ;application/json / application/x-www-form-urlencoded
dataType:
1.dataType:“text” :此时res就是后台返回JSON字符串类型。{“success”:true,“msg”:“查询成功!”}
2.dataType : “json” 此时会把后台返回的字符串类型解析为json对象,类型于这样。
contentType:
ContentType是指http/https发送信息至服务器时的内容编码类型,contentType用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据。
如果不指定contentType,则请求数据类型为json字符串格式和JSON对象都可以。默认为 application/x-www-form-urlencoded。故一般不指定ContentType。
2.如果指定了contebtType=“application/json”,data只能传递json字符串否则报400错误。
如果非得指定contebtType=“application/json”,且传递方式是POST,可以这样设置data格式
2.接收
一般接收有以下几种方式(SSM)
基本类型+String
实体类
@RequestParam
@RequestBody
对于@ResquestParam和@RequestBody标签的区别:
@ResquestParam:用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)
@RequestBody:处理HttpEntity传递过来的数据,一般用来处理非Content-Type: application/x-www-form-urlencoded编码格式的数据。例如:ajax请求是指定contebtType=“application/json”。
3.总结
下面列举了能正确接收数据的方式
一般报400原因就是data数据和contentType不对应。
一般报415原因后台处理请求的方式和请求数据的类型不匹配,也就是说@ResquestParam和@RequestBod标签用错。
以上,就是今天所讲的知识,更多想要了解的,请继续关注本网站。