一个完整的ajax简单案例

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

之前在网上找ajax的一些例子感觉说的都很凌乱或者很散,所以在这里写一个比较完整的例子,一是自己总结,二是可以帮到别人。


大致说明一下这个例子,是一个简单的注册案例,当用户名文本框失去焦点的时候,会向后台发送一个ajax请求(前台做了用户名非空的校验),如果用户名是3127,会提示你当前用户名已被占用,如果不为3127,提示你当前用户名可以使用。


前端代码

<%--
  Created by IntelliJ IDEA.
  User: 3127
  Date: 2017/4/23
  Time: 14:57
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <%
        String path=request.getContextPath();
    %>
    <title></title>
    <script type="text/javascript" src="<%=path%>/jquery/jquery.min.js"></script>
    <style>
        #username-info{
            display: none;
            border: none;
        }
        label{
            display: block;
            margin-top: 3px;
        }
    </style>
</head>
<body>
<form id="myForm">
    <label for="username">username:<input type="text" id="username"/><input type="text" id="username-info"/></label>
    <label for="password">password:<input type="text" id="password"/></label>
</form>
<script>

    $("#username").on("blur",function(){
        var username=$("#username").val();
        if(username!=undefined&&username.length>0){
            $.ajax({
                type:"post",//type可以为post也可以为get
                url:"demo2",
                data:{"username":username},//这行不能省略,如果没有数据向后台提交也要写成data:{}的形式
                dataType:"json",//这里要注意如果后台返回的数据不是json格式,那么就会进入到error:function(data){}中
                success:function(data){
                    $("#username-info").css("display","block");
                    if(data.availiable==="0"){
                        $("#username-info").css("color","green");
                    }else{
                        $("#username-info").css("color","red");
                    }
                    $("#username-info").val(data.info);
                },
                error:function(data){
                    alert("用户名提交出现了错误!");
                }
            });
        }else{
            alert("用户名不能为空!")
            return false;
        }
    })
</script>
</body>
</html>


后台是一个servlet

package demoservlet;

import com.alibaba.fastjson.JSON;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by 3127 on 2017/4/23.
 */
public class Demo2 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req,resp);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");

        String username=req.getParameter("username");
        String availiable="0";
        String info="该用户名可以使用!";
        Map<String,String> map=new HashMap();


        if(username!=null&&!username.equals("")){
            if(username.equals("3127")){
                availiable="1";
                info="对不起,该用户名已被使用!";
            }
        }

        map.put("availiable",availiable);
        map.put("info",info);

        PrintWriter writer = resp.getWriter();
        writer.print(JSON.toJSON(map));
        writer.flush();
        writer.close();
    }
}



web.xml配置

<servlet>
        <servlet-name>demo2</servlet-name>
        <servlet-class>demoservlet.Demo2</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>demo2</servlet-name>
        <url-pattern>/demo2</url-pattern>
    </servlet-mapping>



ajax简单的小案例 // 1.创建小黄人对象(哈哈其实就是xhr) var xhr = new XMLHttpRequest() // 2.绑定事件监听函数 xhr.onreadystatechange = function(){ //readyState 属性存有 xhr 的状态信息, 为4时: 请求已完成,且响应已就绪 if(xhr.readyState==4){ // 5.拿数据 , 200表示异步调用成功 if(xhr.status==200){ console.log. 阅读详情

相关推荐

一个完整ajax应用例子

一个完整的用js写的ajax例子,模仿注册页面输入用户名,输入框失去焦点后,后台异步判断该用户名是否可用,并在页面显示判断结果

Ajax请求示例

Ajax请求步骤与代码 前端 文章标签: ajax jquery ...

weixin_46482875的博客 3995

简单易懂:Ajax入门实例详解(登录功能)

Ajax(Asynchronous JavaScript and XML)是一种基于Web技术的编程实现方式,它使用JavaScript和XML来实现异步的数据交互。JavaScript负责发起请求和处理响应,而XML则负责将数据与页面分离。Ajax能够在不刷新整个页面的情况下更新页面内容,提高了页面的响应速度和用户体验。

大三软件工程在读,喜爱编程,分享。 4837

Ajax 简单案例

Ajax 发送 GET // 1、创建对象 var xhr = new XMLHttpRequest(); // 2、初始化 设置 请求方法 url 是否异步(true为异步) xhr.open('GET', 'http://127.0.0.1:8888/ajax', true); // 3、发送 xhr.send(); /* 4、回调(处理服务端返回的数据) readyState: 0: 请求未初始

qq_41179691的博客 1561

CORS ajax跨域请求php简单完整案例一则

一、CORS: Cross-Origin Resource Sharing CORS是Cross-Origin Resource Sharing的缩写,表示跨域的资源分享,不仅可以跨子域,就算域名长得完全不一样,也可以进行资源获取。 比较常见的应用之一就是Ajax跨域请求数据。 这个特性IE11开始支持: 和股市一样,大好河山一片绿,青青草原漫无边。 二、ajax跨域请求的heade...

weixin_30496751的博客 233

Ajax基本案例详解之$.ajax的实现

最近在学Ajax,现在来分享一下基本ajax案例:     先来说说$.ajax的情况: 首先我们先来创建个index.jsp,在index.jsp里面我们写一个标签,主要是引用jquery的环境,没有的童鞋可以来这里下载一下。      那么接下来大家看代码吧! 里面包含的代码       $(function(){ $("#email").focus(function

穆雄雄的博客 1109

SSM框架完成Ajax简单用户登录验证

一、前端JSP <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Login</title> </head> <script type="text/javascript" s...

weixin_34245082的博客 801

jQuery ajax教程 入门程序

我们先模拟一个场景——一个用户登录进某个网站,在不刷新整个页面的情况下,需要知道自己的余额,这就是最简单ajax。如下图: 当点击“查询余额”按钮时,程序并不刷新整个页面,但是却去后台查询余额,并显示在输入框中。html代码如下:<table align="center"> <tr> <td>卡号:</td><td>11010401</td> </tr>

zhouchenxuan的博客 702

Ajax教程—响应text文本之案例篇(二)

1. ajax是什么? * asynchronous javascript and xml:异步的js和xml * 它能使用js访问服务器,而且是异步访问! * 服务器给客户端的响应一般是整个页面,一个html完整页面!但在ajax中因为是局部刷新,那么服务器就不用再响应整个页面!而只是数据!

用心做每件事 1113

Ajax.Day1.初识Ajax

初识AjaxAjax介绍与网页应用 Ajax介绍与网页应用

疯子的梦想@的博客 368

dojo框架中ajax与struts的完美结合

    做过一个小测试,用dojo框架使ajax与struts结合起来。与大家一起分享。    该测试是用ajax的异步传送,提交表单到action中,获取页面文本框中的内容,返回到页面中,实现无刷新提交表单。     代码清单:    test.jsp:          Simple jsp page    /dojo/dojo.js">            dojo.req

谢艳锋的专栏 3199

[Ajax] Ajax+Jsp+Mysql 实现数据的存取

课程需要,写了一个简单Ajax数据存取操作,后台用的是Jsp,数据库是Mysql... 1. Functions.js 代码 varxmlHttp/*读取数据*/functiongetUserInfo(uid){xmlHttp=GetXmlHttpObject();if(xmlHttp==null){alert("您的浏览器不支持AJAX!");...

weixin_33757911的博客 104

使用原生ajax异步加载数据

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here

◇″淡定。 757

ajax 基本用法

 index.jsp My JSP 'index.jsp' starting page

chenggil10的专栏 584

Ajax 异步小demo

前端操作 增加购物车的ajax发送 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Ajax Demo2&lt;/title&gt; &lt;script src="http

人生不过是一场旅行,你路过我,我路过你,各自向前,各自修行。 358

ajax完整案例

在jQuery中AJAX的写法有3种,ajaxajaxajax,post,get这三种。其中get这三种。其中get这三种。其中post和get是简易写法,高层的实现,在调用他们的时候,会运行底层封装好的get是简易写法,高层的实现,在调用他们的时候,会运行底层封装好的get是简易写法,高层的实现,在调用他们的时候,会运行底层封装好的ajaxajax案例 $.ajax({ url:"http://www.microsoft.com", //请求的url地址 dataType:"

梦想不会灭 1946

一个简单AJAX实例及解析

去年开始看AJAX时候所写的第一个小程序,整理了下。应该算AJAX简单的应用了。首先,演示一下实际运行的效果。点击弹出新页面中的“See Author”链接,你将会看到该页面作者。从页面提交到显示从服务器获得的结果,这段过程你将不会发现页面的重刷新。 下面给出该示例的代码: 1. ajax.html A simple AJAX example function findAuth

johncools的博客 1008
上一篇: 关于list删除的问题
3127
博客等级 码龄10年 7粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值