SpringMVC下的ajax请求

  1. 这一般前端发送过来,后端要处理的请求有两种:

  2. 普遍请求:一般controller是后端处理完成后返回页面,浏览器使用页面替换整个窗口中的内容。
    Ajax请求:后端处理完成后通常返回JSON数据,jQuery代码使用JSON数据对局部数据进行更新。
    

    那么现在大多交互的也都是json,以后前后端的交互可能是JSON,我们在springmvc环境下用ajax有两个注解。@RequestBody
    @ResponseBody 他俩的流程:
    在这里插入图片描述

    @RequestBody 和@ResponseBody正常工作需要在环境中添加依赖:必须有jackson的支持。
    在这里插入图片描述

    把jQuery引入进来
    这样就可以写测试的代码了。
    @ResponseBody注解 作用 让
    controller方法的返回值本身就是当前请求的响应数据。不再参考视图处理器 中配置的前后缀信息。
    @Controller
    public class AjaxHandler { @ResponseBody
    @RequestMapping("/get/emp/by/ajax") public Employee
    getEmployeeByAjax() { return new Employee(555, “empName555”,
    555.55);}}

    注意  开启 SpringMVC 的注解驱动 mvc:annotation-driven/  必须有 jackson 依赖 jackson-core jackson-databind  扩展名需要和实际返回的数据格式一致 响应体返回 JSON
    请求扩展名
    .json web.xml 中 DispatcherServlet 必须映射
    .json 扩展名**

    @RequestBody 注解 在写js处 // 准备要发送的数组

  var array = [5,8,12]; // 将 JSON 数组转换成 JSON 字符串 // "[5,8,12]" 
    var arrayStr = JSON.stringify(array);
    // 发送 Ajax 请求
 $.ajax(
    {
        url:"send/array/three.html",  //提交请求的地址
        type:"post",            //提交的请求方式
        data:obj,           //提交的数据
        "contentType":"application/json;charset=UTF-8",//设置请求体内容类型,
        dataType:"text",        //提交完成后返回的数据格式
        success:function (response){    //服务端处理请求成功后调用的回调函数
            alert(response);
        },
        error:function (response){ //服务端处理请求失败后调用的回调函数
            alert(response);
        }
    } ) 
    在controller: 
    @ResponseBody
     @RequestMapping("/send/array/three.html") 
      public String
 testReceiveArrayThree(@RequestBody List<Integer> array) {
        //打印
        for (Integer number : array) {
           /* System.out.println("number="+number);*/
            logger.info("number="+number);
        }
    
        return "success"; }
这样就已经完成了ajax的测试。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值