Ajax

  • 什么是Ajax?
  • 怎么用?

什么是Ajax?

  • ASynchronous JavaScript And XML 异步的JavaScript 和 XML
  • 理解客户端和服务端的 异步通信和同步通信
    • 异步通信: 在客户端向服务端发起请求后,服务端还未响应之前,客户端可以继续做自己的事情。对客户端来说,可以实现局部刷新的效果
    • 同步通信:客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作
  • Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术
    • 传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面

怎么用?

  • 原生的JS实现方式
  • JQuery方式

    • $.ajax()

      • 语法 :$.ajax({键值对})
      • $.ajax({

        1. url:"ajaxServlet1111" , // 请求路径


        type:”POST” , //请求方式
        //data: “username=jack&age=23”,//请求参数
        data:{“username”:”jack”,”age”:23},
        success:function (data) {
        alert(data);
        },//响应成功后的回调函数
        error:function () {
        alert(“出错啦…”)
        },//表示如果请求响应出现错误,会执行的回调函数


        dataType:”text”//设置接受到的响应数据的格式
        });

    • $.get()

      • 语法:$.get(url, [data], [callback], [type])
        • url:请求路径
          data:请求参数
          callback:回调函数
          type:响应结果的类型
    • $.post()

JSON

  • 什么是JSON?
  • 怎么用?

什么是JSON?

  • 概念: JavaScript Object Notation JavaScript对象表示法
  • 多用于存储和交换文本信息,进行数据传输
  • 比xml更小,更快和易于解析

怎么用?

  • 键值对构成
  • 键用引号,也可以不用引号引起来
  • 值的类型有:

1.数字(整数或浮点数),直接写
2. 字符串(在双引号中)
3. 逻辑值(true 或 false)
4. 数组(在方括号中) {“persons”:[{},{}]} —:注意
5. 对象(在花括号中) {“address”:{“province”:”陕西”….}} —:注意
6. null

  • 获取数据:
    • json对象.键名
    • json对象[“键名”]
    • 数组对象[索引]
    • 遍历
      • image.png
  • JSON转为Java对象(比较少用)
  • Java对象转换JSON(常见)
    • 使用
      • 导入jackson的相关jar包
      • 创建Jackson核心对象 ObjectMapper
      • 调用ObjectMapper的相关方法进行转换
        • 转换方法
          • writeValue(参数1,obj):
          • 参数1
            • File:将obj对象转换为JSON字符串,并保存到指定的文件中
            • Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
            • OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
        • 注解
          • @JsonIgnore:排除属性 —:比如我不要将Person对象中的日期转成JSON
          • @JsonFormat:属性值得格式化 —: @JsonFormat(pattern = “yyyy-MM-dd”)
        • 复杂java对象转换
            1. List:结果是数组
            1. Map:结果与对象格式一致
  • 案例:
    • 校验用户名是否可用
      • 该用户名太受欢迎
      • 该用户名可用