ajax原理剖析

ajax是一种在无需重新加载整个网页的情况下,能更新部分网页的技术。(例:在网页的搜索栏输入需求信息后,下面马上会弹出来相关的信息列表,但是此时并没有刷新当前页面)
ajax使用javascript在浏览器与服务器之间进行数据的发送和接收。通过在后台与服务器交换数据,而不是每当用户做出改变是重新加载整个Web页面,从而使网页更迅速地响应用户的操作。

示例代码(只展示核心代码):

log.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script src="${pageContext.request.contextPath}/statics/js/jquery-3.6.0.js"></script>
    //这是我的jquery文件在当前项目的位置,根据位置写即可
    <script>
        function a() {
            $.post({
                url:"${pageContext.request.contextPath}/t6",
                data:{"name":$("#name").val()},
            success:function (data) {
                    if(data.toString()==="ok"){
                        $("#nm").css("color","green")
                    }else{
                        $("#nm").css("color","red")
                    }
                    $("#nm").html(data);
            }
            })
        }
        function b() {
            $.post({
                url:"${pageContext.request.contextPath}/t6",
                data:{"pwd":$("#pwd").val()},
            success:function (data) {
                    if(data.toString()==="ok"){
                        $("#pd").css("color","green")
                    }else{
                        $("#pd").css("color","red")
                    }
                    $("#pd").html(data);
            }
            })
        }
    </script>
</head>
<body>
<p>
    用户名:<input type="text" id="name" οnblur="a()">
    <span id="nm"></span>
</p>
<p>
    密码:<input type="text" id="pwd" οnblur="b()">
    <span id="pd"></span>
</p>

</body>
</html>

AjaxController.java

package com.hui.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//还可以通过@Controller和@ResponseBody联合使用达到只返回JSON字符串的目的
@RestController //此注释规定,被标注的所有字符串只返回一个JSON字符串,不会走视图解析器。
public class AjaxController {

    
    @RequestMapping("/t6")
    public String test6(String name,String pwd){
        String msg="";
        if(name!=null){
            if("li".equals(name)){
                msg="ok";
            }else{
                msg="用户名错误";
            }
        }
        if(pwd!=null){
            if("123".equals(pwd)){
                msg="ok";
            }else{
                msg="密码错误";
            }
        }
        return msg;
    }
}

测试:在浏览器输入栏输入log.jsp然后回车键:

地址栏
在这里插入图片描述

运行结果
在这里插入图片描述

代码流程

ajax语法:

$(selector).get(url,data,success(response,status,xhr),dataType);
$(selector).post(url,data,success(response,status,xhr),dataType);

url是必选项,表示将请求发送到哪个URL。
data是可选项,表示连同请求发送到服务器的数据。
success(response,status,xhr)是可选项,表示当请求成功运行时的函数。
dataType为可选项,表示预计的服务器响应的数据类型

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝朋友丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值