SpringMVC学习day02-异步交互(Ajax)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

目标:

1.前端发送异步请求、携带请求参数

2.后端表现层接收请求、获取请求参数

3、后端表现层将数据转成JSON字符串相应给前端

4、前端处理JSON响应数据


提示:以下是本篇文章正文内容,下面案例可供参考

一、获取请求参数

1.获取普通类型参数

前端代码

sendCommonParams(){
         axios({
         "url":"/user/commonParams",
         "method":"post",
         "params":{
         "userId":20,
         "username":"cxk",
         "address":"NC"
                 }
      }).then(response =>{
         console.log(response.data.data);
     })
}

后端代码

@PostMapping("/commonParams")
public String getCommonParams(User user) {
      //获取异步请求携带的普通类型参数跟获取同步请求携带的普通类型参数是一样的
      System.out.println(user);
      //将目标user封装到Result对象中
      return "success";
}

params:表示携带普通类型的参数

获取异步请求携带的普通类型的参数,和之前获取同步请求携带参数是一样的

2.获取JSON类型参数

前端代码

sendJsonParams(){
           axios({
           "url":"/user/jsonParams",
           "method":"post",
           "data":{
             "userId":1,
             "userName":"55k",
             "address":"gd"
                  }
             }).then(response =>{
      console.log(response.data.data);
        })
}

后端代码

@PostMapping("/jsonParams")
    public String getJsonParams(@RequestBody User user) {
        //获取异步请求携带的JSON类型参数:
        //1.一定要封装到实体类对象或者Map中
        //2.一定要加RequestBody注解
        //3.项目中一定要引入jackson的依赖(SpringMVC 默认只支持jackson)
        System.out.println(user);
        //将目标user封装到Result对象中
        return "success";


    }

引入jackson依赖

    
      com.fasterxml.jackson.core  
      jackson-databind  
      2.12.1 
     

data表示携带json 请求实体类的参数

注:SpringMVC需要解析JSON数据需要jackson支持,但SpringMVC的jar包并没有依赖Jackson,所以需要自己导入

获取异步请求携带JSON类型参数步骤

1.获取Json请求体类型的参数必须哟啊封装到POJO对象或者Map中

2.POJO参数或者Map参数的前面一定要加入RequestBody注解

3.你的项目中一定要引入jackson的依赖(因为SpringMVC默认只支持jackson)

二、响应请求参数

1.响应普通类型参数

后端代码

    @ResponseBody
    @PostMapping("/commonParams")
    public Result getCommonParams(User user) {
        //获取异步请求携带的普通类型参数跟获取同步请求携带的普通类型参数是一样的
        System.out.println(user);
        //将目标user封装到Result对象中
        return Result.ok(user);
    }

2.响应JSON类型参数

后端代码

@ResponseBody
@PostMapping("/jsonParams")
public Result getJsonParams(@RequestBody User user) {
      //获取异步请求携带的JSON类型参数:
      //1.一定要封装到实体类对象或者Map中
      //2.一定要加RequestBody注解
      //3.项目中一定要引入jackson的依赖(SpringMVC 默认只支持jackson)
      System.out.println(user);
      //将目标user封装到Result对象中
      return Result.ok(user);
}

表现层(Controller)怎么将对象转换成JSON响应给客户端?

1、处理请求的方法的返回值,就是要转成JSON响应给客户端的那个对象

2、处理请求的方法上添加@ResponseBody注解

3、项目引入jackson依赖

你可能感兴趣的:(Spring,SpringMVC,spring,学习,java,ajax,json)