AJAX异步post前后端传输数据

这篇博客展示了如何使用HTML、JavaScript和XMLHttpRequest实现前端数据的验证与传递。通过在文本框失去焦点时触发事件,前端将输入的姓名发送到后端JavaServlet进行处理。后端接收到数据后,简单地返回加上‘还没有注册’的提示信息,再由前端展示。这个例子适合初学者理解前后端交互的基本流程。
摘要由CSDN通过智能技术生成
前端代码,无jq适合新手看
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
<label for="username">姓名:</label><input type="text" id="username">
<span id="uSpan"></span><br>

</body>
<Script>
  //1.为绑定失去焦点事件
  document.getElementById("username").onblur = function () {
    //2.创建XMLHttpRequest核心对象
    let xmlHttp = new XMLHttpRequest();
    //3打开链接
    let username = document.getElementById("username").value;
    xmlHttp.open("post","a",true);
    // POST发送请求必须设置请求头
    xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    // application/x-www-form-urlencoded    表单字符类型
    // multiline/form-data      表单类型
    // application/json
    // text/xml

    //4.发送请求
    xmlHttp.send("username="+username);
    //5处理响应
    xmlHttp.onreadystatechange = function () {
      //判断请求响应是否成功
      if (xmlHttp.readyState === 4 && xmlHttp.status === 200) {
        //将响应数据显示到标签
        document.getElementById("uSpan").innerHTML = xmlHttp.responseText;
      }
    }
  }
</Script>

</html>

后端java代码

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/a")
public class js extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //没用,要get请求用这里
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=UTF-8");
        String add=req.getParameter("username");
        System.out.println(add);
        resp.getWriter().write(add+"还没有注册");
    }
}

启动tomcat

主页

 输入一个姓名,鼠标离开文本框,文本框数据传给后端,后端处理+"还没有注册"发送给前端显示

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值