2020 使用jquery形式的Ajax+servlet实现简单用户名自动提示功能(可自加后台dao查找数据库)

使用jquery形式的Ajax+servlet实现简单用户名自动提示功能(可自加后台dao查找数据库)

演示:

在这里插入图片描述
在这里插入图片描述

AjaxServlet.java


package servlet;

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;
import java.io.PrintWriter;

@WebServlet("/AjaxServlet")
public class AjaxServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html");
        request.setCharacterEncoding("UTF-8");
        //response.setContentType("application/json; charset=UTF-8");
        String txtname = request.getParameter("txtname");
        System.out.println(txtname);
        PrintWriter wr = response.getWriter();
        if (txtname.equals("林一") || txtname.equals("林二")) {
            wr.write("已存在当前用户名");
        } else {
            wr.write("当前用户名可用");
        }
        wr.close();
    }


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
}

如果需要查询数据库的,可自写mvc
ResultSet resultSet = userDao.selectUserBy(user);
if (resultSet.next()){
}

antosearch.jsp


<%@ page language="java" pageEncoding="UTF-8" %>
        <html>
<meta http-equiv="Content-Type" content="text/html">
<meta charset="UTF-8">
        <head>
            <title>使用jquery Ajax实现自动提示功能</title>
        </head>
        <style>
            .suggest_link {
                background-color: pink;
                padding: 2px 6px;
            }
            
            .suggest_link_over {
                background-color: whitesmoke;
                color: #3c7a4e;
                padding: 2px 6px;
            }
            
            #suggest {
                position: absolute;
                background-color: lightgray;
                text-align: left;
                border: 1px solid #000000;
                width: 200px;

            }
        </style>

        <script type="text/javascript" src="js/jquery-3.5.1.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $("#txtSearch").blur(function () {
                    //var txtname=$("#txtSearch").val();
                    var txtname=$(this).val();
                    //可var txtname = { "txtname" :$(this).val()};
                    $.ajax({
                        url:"AjaxServlet",
                        type:"post",
                        data:{txtname:txtname},//类似于键值对形式
                        dataType:"text",
                        success:function (result) {
                            $("#suggest").html(result);
                        }
                        });
                });
            })
        </script>

        <body>
            <h1>使用jquery Ajax实现自动提示功能</h1>
            <h3>
                jquery Ajax实现搜索提示
            </h3>

            <div style="width: 500px">
                <form action="" id="formSearch">
                    <input type="text" id="txtSearch" name="txtSearch" autocomplete="off" />
                    <input type="submit" id="cmdSearch" name="cmdSearch" value="点按钮外" />
                    <span style="color: aqua">林一、林二 已被占用</span>
                    <br>
                    <div id="suggest" style="width: 200px;color: red"></div>
                </form>
            </div>
        </body>

        </html>

注意格式:data:{txtname:txtname},//类似于键值对形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值