一个完整的ajax简单案例

之前在网上找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>



  • 15
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ajax经典实例+代码大全 绝对经典 -------- 目录说明 -------- database 目录存放数据库SQL文件 java 目录存放java源文件 webapp 目录存放实例页面及JSP源文件 -------------- 数据库安装说明 -------------- 了解MySQL的用户可以直接使用自己熟悉的方式创建名为ajax的数据库,并将ajax.sql文件导入即可。 下面是简要操作方法: 1. 实例数据库在MySQL 5.0.27 版本下测试通过 2. 将database目录中ajax.sql文件复制到C:\ 3. 进入MySQL安装目录中的bin目录 4. 输入 mysql -u root -p ,然后输入密码登录本地MySQL服务器 5. 输入 CREATE DATABASE ajax DEFAULT CHARACTER SET utf8; 创建名为ajax的数据库 6. 输入 use ajax 7. 输入 source c:\ajax.sql 执行数据库初始化语句 ------------------ Java源文件使用说明 ------------------ 实例中大部分文件为HTML及JSP文件,部分Java源文件存放在java目录中。 可将目录中的内容作为Eclipse的一个项目导入Eclipse中使用。 ----------- WEB发布方法 ----------- 所有实例在jdk 1.4.2 + Tomcat 5.0.28 环境下测试通过。 将webapp目录中的内容复制到Tomcat的webapps目录中作为一个web应用发布即可。 启动Tomcat前注意修改 ajax/WEB-INF/classes/ajax_db.properties 文件。 将其中的URL、USER和PASSWORD属性根据实际情况进行修改。 Tomcat正常启动后使用 http://localhost:8080/ajax 进行访问 +=========================================================================================== 最后注释: 可能还有一点,就是把你的ajax密码定位好 路径是:${ajax}\ajax\WEB-INF\classes\ajax_db.properties,用记事本打开。那个${ajax}就是你当前存放ajax这个文件夹的路 径 DRIVERS=com.mysql.jdbc.Driver URL=jdbc:mysql://localhost/ajax?useUnicode=true&characterEncoding=utf8 USER=root PASSWORD=ajax 里面的代码是这样写的,把最后一行的那个对应的密码改为你自己数据库的代码就OK

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值