Ajax实现原理和概念

1.AJAX

  • Ajax这个术语源自描述从基于 Web 的应用到基于数据的应用。
  • Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
  • 使用 JavaScript 向服务器提出请求并处理响应而不阻塞用户核心对象XMLHttpRequest。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果。
  • Ajax 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
  • Ajax可使因特网应用程序更小、更快,更友好。
    1.
    2.Ajax工作流程
    网页中发生一个事件(页面加载、按钮点击)
  1. 由 JavaScript 创建 XMLHttpRequest 对象
  2. XMLHttpRequest 对象向 web 服务器发送请求
  3. 服务器处理该请求
  4. 服务器将响应发送回网页
  5. 由 JavaScript 读取响应
  6. 由 JavaScript 执行正确的动作(比如更新页面)
    3.Ajax作用
    将控制视图跳转主动权交给前端
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>
<head>
    <title>Title</title>
    <script src="${pageContext.request.contextPath}/static/js/jquery-3.5.1.js"></script>
    <script>
        function a() {
            $.post({
                url:"${pageContext.request.contextPath}/a3",
                data:{"name":$("#name").val()},
             success:function (data) {
                 if(data.toString()==='ok'){
                     $("#userInfo").css("color","green");
                 }
                 else{
                     $("#userInfo").css("color","red");
                 }
                 $("#userInfo").html(data);
             }
            })
        }
        function a2() {
            $.post({
                url:"${pageContext.request.contextPath}/a3",
                data:{"pwd":$("#pwd").val()},
                success:function (data) {
                    if(data.toString()==='ok'){
                        $("#userPwd").css("color","green");
                    }
                    else{
                        $("#userPwd").css("color","red");
                    }
                    $("#userPwd").html(data);
                }
            })
        }
    </script>
</head>
<body>
<p>
   <span>用户名</span> <input type="text" id="name" name="name" onblur="a()"/>
    <span id="userInfo"></span>
</p>
<p>
    <span>密码</span> <input type="text" id="pwd" name="pwd" onblur="a2()"/>
    <span id="userPwd"></span>
</p>
</body>
</html>
package com.ji.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@RestController
public class AjaxController {
    @RequestMapping("/a3")
    public String a3(String name,String pwd){
        String msg="";
        if(name!=null){
            if("admin".equals (name)){
                msg="ok";
            }
            else{
                msg="用户名有误";
            }
        }
        if(pwd!=null){
            if("123456".equals (pwd)){
                msg=msg+"ok";
            }
            else{
                msg=msg+"密码有误";
            }
        }
        return msg;
    }
}
posted @ 2021-11-26 19:04  一刹流云散  阅读(101)  评论(0编辑  收藏  举报