ajax的常规操作(原始方式)

java 复制代码
package com.csdn.servlet;
import jakarta.servlet.GenericServlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
//演示Ajax
@WebServlet("/h09")
public class AjaxServlet extends GenericServlet {
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        String uname = servletRequest.getParameter("uname");
        uname = uname.toUpperCase();
        PrintWriter out = servletResponse.getWriter();
        out.println(uname);
        out.flush();
    }
}
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ajax01</title>
    <script>
        let xmlHttpRequest;
        function sendAjax01() {
            let uname = document.getElementById("uname").value;

            xmlHttpRequest = new XMLHttpRequest();
            xmlHttpRequest.open("Get","h09?uname="+uname,true);//Get:请求方式    h09:请求的目的地   true:异步请求
            //onreadystatechange:当状态发生改变的时候调用sendAjax01CB
            //状态取值有 0-4 ,共 5 个,我们感兴趣的是 4
            //0 表示 xmlHttpRequest未创建
            //1 表示开始发送请求
            //2 表示发送请求完成
            //3 表示开始接收响应
            //4 表示接收响应成功,客户端成功解析服务器返回的响应
            xmlHttpRequest.onreadystatechange = sendAjax01CB;    //CB:call back 回调函数
            //发送请求
            xmlHttpRequest.send();
        }
        function sendAjax01CB() {
            if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
                //获取响应文本
                let msg = xmlHttpRequest.responseText;
                document.getElementById("uname2").innerText = msg;
            }
        }
    </script>
</head>
<body>
        uname:<input type="text" id="uname"/>
        <input type="button" value="发生异步请求" onclick="sendAjax01()"><br/>
        服务器响应回来的内容:<span id="uname2">&nbsp</span>
</body>
</html>
相关推荐
索木木1 小时前
ShortCut MoE模型分析
前端·html
MXN_小南学前端1 小时前
Vue3 + Spring Boot 工单系统实战:用户反馈和客服处理的完整闭环(提供gitHub仓库地址)
前端·javascript·spring boot·后端·开源·github
djk88881 小时前
layui zTree 控件 AJAX绑定 点击tree事件 获取tree值
ajax·okhttp·layui
轮子大叔1 小时前
CSS基础入门
前端·css
踩着两条虫1 小时前
强强联合!VTJ.PRO 正式接入 DeepSeek V4,AI 编码能力再跃升
前端·vue.js·ai编程
Lily.C2 小时前
DOMPurify 前端富文本 XSS 防护使用指南
前端
一叶渡江2 小时前
深挖 iOS 16 以下 flex column-reverse 滚动失效问题
前端
众创岛2 小时前
回调函数、闭包概念、场景及python实战
前端
得想办法娶到那个女人2 小时前
项目中 TypeScript 类型推导 极简实战总结
前端·javascript·typescript
Beginner x_u2 小时前
前端八股整理(Vue 02)|组件通信、生命周期、v-if 与 v-show
前端·javascript·vue.js