AJAX

  1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML
    1. 异步和同步:客户端和服务器端相互通信的基础上
    * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。
    * 客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。

         Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 [1] 
         通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
         传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。
    
         提升用户的体验
    
    1. 实现方式:

      1. 原生的JS实现方式(了解)
      2. JQeury实现方式
        1. $.ajax()
          • 语法: . a j a x ( 键 值 对 ) ; / / 使 用 .ajax({键值对}); //使用 .ajax();//使.ajax()发送异步请求
            $.ajax({
            url:“ajaxServlet1111” , // 请求路径
            type:“POST” , //请求方式
            //data: “username=jack&age=23”,//请求参数
            data:{“username”:“jack”,“age”:23},
            success:function (data) {
            alert(data);
            },//响应成功后的回调函数
            error:function () {
            alert(“出错啦…”)
            },//表示如果请求响应出现错误,会执行的回调函数

              dataType:"text"//设置接受到的响应数据的格式
            

            });

        2. $.get():发送get请求
          • 语法:$.get(url, [data], [callback])
            • 参数:
              • url:请求路径
              • data:请求参数
              • callback:回调函数
                例子:
                String name = request.getParameter(“username”);
                System.out.println(name);
                //相应格式为Json
                response.setContentType(“application/json;charset=utf-8”);
                Map<String, Object> map = new HashMap<>();

      if (“tom”.equals(name)) {
      // response.getWriter().print(“1”);
      System.out.println(“1111”);
      map.put(“userExsit”, true);
      map.put(“msg”, “存在”);
      } else{
      System.out.println(“2222”);
      map.put(“userExsit”, false);
      map.put(“msg”, “可用”);
      // response.getWriter().print(“2”);
      }
      //定义json对象
      ObjectMapper mapper = new ObjectMapper();
      //把map集合转化为json字符串
      mapper.writeValue(response.getWriter(), map);
      }

<script type="text/javascript">
    $(function () {
        $("#username").blur(function () {
            var username = $(this).val();
            $.get("findUserNameSerlvet", {username: username}, function (data) {
                alert(data);
                var span = $("#user_msg");
                if (data.userExsit) {
                    span.css("color", "red");
                    span.html(data.msg);
                } else {
                    span.css("color", "green");
                    span.html(data.msg);

                }
            })
        })
    })
</script>
        3. $.post():发送post请求
            * 语法:$.post(url, [data], [callback])
                * 参数:
                    * url:请求路径
                    * data:请求参数
                    * callback:回调函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值