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 欢迎前来访问
  • 相关阅读:
    【Nginx】ngx_event_core_module模块
    ELMAH--Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components 77 out of 90 rated th
    nyist oj 214 单调递增子序列(二) (动态规划经典)
    java 入门书籍(java7)
    ARCGIS将WGS84坐标投影到高斯平面
    【linux】linux下对java程序生成dump文件,并使用IBM Heap Analyzer进行分析,查找定位内存泄漏的问题代码
    【springboot】【socket】spring boot整合socket,实现服务器端两种消息推送
    【linux】linux修改open file 大小
    【docker】docker限制日志文件大小的方法+查看日志文件的方法
    【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志
  • 原文地址:https://www.cnblogs.com/chenyameng/p/11285095.html
Copyright © 2011-2022 走看看