zoukankan      html  css  js  c++  java
  • Ajax&Json案例

    案例:

    * 校验用户名是否存在
    	1. 服务器响应的数据,在客户端使用时,要想当做json数据格式使用。有两种解决方案:
    		1. $.get(type):将最后一个参数type指定为"json"
    		2. 在服务器端设置MIME类型
    			response.setContentType("application/json;charset=utf-8");
    

    源码:

    1. 注册页面的完成:
    

    需要参考的文档:


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>注册页面</title>
        <script src="js/jquery-3.3.1.min.js"></script>
    
    
        <script>
            //在页面加载完成后
            $(function () {
               //给username绑定blur事件
               $("#username").blur(function () {
                   //获取username文本输入框的值
                   var username = $(this).val();
                   //发送ajax请求
                   //期望服务器响应回的数据格式:{"userExsit":true,"msg":"此用户名太受欢迎,请更换一个"}
                   //                         {"userExsit":false,"msg":"用户名可用"}
                   $.get("findUserServlet",{username:username},function (data) {
                       //判断userExsit键的值是否是true
    
                       // alert(data);
                       var span = $("#s_username");
                       if(data.userExsit){
                           //用户名存在
                           span.css("color","red");
                           span.html(data.msg);
                       }else{
                           //用户名不存在
                           span.css("color","green");
                           span.html(data.msg);
                       }
                   });
    
               }); 
            });
    
        </script>
    </head>
    <body>
    
    
        <form>
    
            <input type="text" id="username" name="username" placeholder="请输入用户名">
            <span id="s_username"></span>
            <br>
            <input type="password" name="password" placeholder="请输入密码"><br>
            <input type="submit" value="注册"><br>
    
        </form>
    
    </body>
    </html>
    
    1. findUserServlet

       package cn.itcast.web.servlet;
       
       import com.fasterxml.jackson.databind.ObjectMapper;
       
       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.util.HashMap;
       import java.util.Map;
       
       @WebServlet("/findUserServlet")
       public class FindUserServlet extends HttpServlet {
           protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
               //1.获取用户名
               String username = request.getParameter("username");
       
               //2.调用service层判断用户名是否存在
       
               //期望服务器响应回的数据格式:{"userExsit":true,"msg":"此用户名太受欢迎,请更换一个"}
               //                         {"userExsit":false,"msg":"用户名可用"}
       
               //设置响应的数据格式为json避免乱码
               response.setContentType("application/json;charset=utf-8");
               Map<String,Object> map = new HashMap<String,Object>();
       
               if("tom".equals(username)){
                   //存在
                   map.put("userExsit",true);
                   map.put("msg","此用户名太受欢迎,请更换一个");
               }else{
                   //不存在
                   map.put("userExsit",false);
                   map.put("msg","用户名可用");
               }
       
               //将map转为json,并且传递给客户端
               //将map转为json
               ObjectMapper mapper = new ObjectMapper();
               //并且传递给客户端
               mapper.writeValue(response.getWriter(),map);
       
       
           }
       
           protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
               this.doPost(request, response);
           }
       }
    博客网站 https://yamon.top 个人网站 https://yamon.top/resume GitHub网站 https://github.com/yamonc 欢迎前来访问
  • 相关阅读:
    FTP使用
    调用EJB的一点体会
    配置WEBLOGIC81连接缓冲池,提示JDBC类不在类路径的解决办法
    加载cab文件,有时候加载不上去,解决办法
    在SPS中无缝集成重设文档库下拉菜单
    statusful sessionbean 设置,不出现passivate 的问题,解决心得
    在IE耗时操作中加入进度条或进度框
    STS文档库的事件跟踪不能生效的解决办法
    学习新技术的一点体会
    在weblogic81中使用连接缓冲池成功
  • 原文地址:https://www.cnblogs.com/chenyameng/p/11285095.html
Copyright © 2011-2022 走看看