Ajax与jQuery-利用$.get()和$.post()方法传递html,xml,json数据

3 篇文章 0 订阅
2 篇文章 0 订阅
  • html格式数据
//客户端
<head>
<meta charset="UTF-8">
<title>GetPro</title>
<script type="text/javascript" src="script/jquery-3.1.0.min.js"></script>
<script type="text/javascript">
    $(function(){
        $("input:eq(2)").click(function(){
            $.get("LoginServlet",{
                'username':encodeURI(encodeURI($("#username").val())),
                'password':encodeURI(encodeURI($("#password").val()))},
                    function(data,textStatus){
                        $("#content").html(data);
            },"html");
        });

        $("input:eq(3)").click(function(){
            $.post("LoginServlet",{
                'username':encodeURI(encodeURI($("#username").val())),
                'password':encodeURI(encodeURI($("#password").val()))},
                    function(data,textStatus){
                        $("#content").html(data);
            },"html");
        });
    });
</script>
</head>
<body>
    <input type="text" name="username" id="username"/>
    <input type="password" name="password" id="password"/>
    <input type="button" name="loginGet" value="loginGet"/>
    <input type="button" name="loginPost" value="loginPost"/>

    <div id="content"></div>
</body>
//服务端
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //服务端返回给客户端的类型以及编码方式
                response.setContentType("text/html;charset=utf-8");
                //告诉客户端以utf-8的编码方式解析发送过去的信息
                response.setCharacterEncoding("utf-8");
                //用utf-8编码方式翻译发送过来的数据
                request.setCharacterEncoding("utf-8");
                //获取客户端传入的数据
                //两次解码
                String username=URLDecoder.decode(URLDecoder.decode(request.getParameter("username"),"utf-8"),"utf-8");
                String password=URLDecoder.decode(URLDecoder.decode(request.getParameter("password"),"utf-8"),"utf-8");
                //获取输出流
                PrintWriter pw=response.getWriter();
                if(username.equals("张三")&&password.equals("1234")){
                    pw.println("<p>欢迎 "+username+" 登陆</p>");
                }else{
                    pw.println("<p>用户名或密码错误!</p>");
                }
                //关闭资源
                pw.close();
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //服务端返回给客户端的类型以及编码方式
        response.setContentType("text/html;charset=utf-8");
        //告诉客户端以utf-8的编码方式解析发送过去的信息
        response.setCharacterEncoding("utf-8");
        //用utf-8编码方式翻译发送过来的数据
        request.setCharacterEncoding("utf-8");
        //获取客户端传入的数据
        String username=URLDecoder.decode(URLDecoder.decode(request.getParameter("username"),"utf-8"),"utf-8");
        String password=URLDecoder.decode(URLDecoder.decode(request.getParameter("password"),"utf-8"),"utf-8");
        //获取输出流
        PrintWriter pw=response.getWriter();
        //数据验证
        if(username.equals("李四")&&password.equals("1234")){
            pw.println("<p>欢迎 "+username+" 登陆</p>");
        }else{
            pw.println("<p>用户名或密码错误!</p>");
        }
        //关闭资源
        pw.close();
    }
  • xml格式数据
//客户端
<head>
<meta charset="UTF-8">
<title>GetPro</title>
<script type="text/javascript" src="script/jquery-3.1.0.min.js"></script>
<script type="text/javascript">
    $(function(){
        $("input:eq(2)").click(function(){
            $.get("LoginXMLServlet",{
                'username':encodeURI(encodeURI($("#username").val())),
                'password':encodeURI(encodeURI($("#password").val()))},
                    function(data,textStatus){
                        var username=$(data).find("username").text();
                        var password=$(data).find("password").text();
                        $("#content").html("<p>用户名:"+username+" 密码:"+password+"</p>");
            },"xml");
        });

        $("input:eq(3)").click(function(){
            $.post("LoginXMLServlet",{
                'username':encodeURI(encodeURI($("#username").val())),
                'password':encodeURI(encodeURI($("#password").val()))},
                    function(data,textStatus){
                        var username=$(data).find("username").text();
                        var password=$(data).find("password").text();
                        $("#content").html("<p>用户名:"+username+" 密码:"+password+"</p>");
            },"xml");
        });

    });
</script>
</head>
<body>
    <input type="text" name="username" id="username"/>
    <input type="password" name="password" id="password"/>
    <input type="button" name="loginGet" value="loginGet"/>
    <input type="button" name="loginPost" value="loginPost"/>
    <div id="content"></div>
</body>

//服务端
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //服务端返回给客户端的类型以及编码方式
        response.setContentType("text/xml;charset=utf-8");
        //告诉客户端以utf-8的编码方式解析发送过去的信息
        response.setCharacterEncoding("utf-8");
        //用utf-8编码方式翻译发送过来的数据
        request.setCharacterEncoding("utf-8");
        //获取客户端传入的数据
        String username=URLDecoder.decode(URLDecoder.decode(request.getParameter("username"),"utf-8"),"utf-8");
        String password=URLDecoder.decode(URLDecoder.decode(request.getParameter("password"),"utf-8"),"utf-8");
        //获取输出流
        PrintWriter pw=response.getWriter();
        //用StringBuilder存储数据
        StringBuilder xml=new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n");
        xml.append("<student>");
        xml.append("<username>"+username+"</username>");
        xml.append("<password>"+password+"</password>");
        xml.append("</student>");
        pw.println(xml.toString());
        pw.close();
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //服务端返回给客户端的类型以及编码方式
                response.setContentType("text/xml;charset=utf-8");
                //告诉客户端以utf-8的编码方式解析发送过去的信息
                response.setCharacterEncoding("utf-8");
                //用utf-8编码方式翻译发送过来的数据
                request.setCharacterEncoding("utf-8");
                //获取客户端传入的数据
                String username=URLDecoder.decode(URLDecoder.decode(request.getParameter("username"),"utf-8"),"utf-8");
                String password=URLDecoder.decode(URLDecoder.decode(request.getParameter("password"),"utf-8"),"utf-8");
                //获取输出流
                PrintWriter pw=response.getWriter();
                StringBuilder xml=new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n");
                xml.append("<student>");
                xml.append("<username>"+username+"</username>");
                xml.append("<password>"+password+"</password>");
                xml.append("</student>");
                pw.println(xml.toString());
                pw.close();
    }
  • json格式数据
//客户端
<head>
<meta charset="UTF-8">
<title>GetPro</title>
<script type="text/javascript" src="script/jquery-3.1.0.min.js"></script>
<script type="text/javascript">
    $(function(){
        $("input:eq(0)").click(function(){
            $.get("LoginJSonServlet",
                    function(data,textStatus){
                    //对象名.键
                    var students=data.student;
                    var res="<ul>\n";
                    for(var i=0;i<students.length;i++){
                        var student=students[i];
                        res+="<li>"+student.username+"--"+student.password+"</li>";
                    }
                    res+="</ul>";
                    //转换成元素,添加进content中
                    $("#content").append($(res));
            },"json");
        });

        $("input:eq(1)").click(function(){
            $.post("LoginJSonServlet",
                    function(data,textStatus){
                    //对象名.键
                    var students=data.student;
                    var res="<ul>\n";
                    for(var i=0;i<students.length;i++){
                        var student=students[i];
                        res+="<li>"+student.username+"--"+student.password+"</li>";
                    }
                    res+="</ul>";
                    //转换成元素,添加进content中
                    $("#content").append($(res));
            },"json");
        });

    });
</script>
</head>
<body>
    <input type="button"  value="GetJSon"/>
    <input type="button"  value="PostJSon"/>
    <div id="content"></div>
</body>
//服务端
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ///服务端返回给客户端的类型以及编码方式
        response.setContentType("application/json;charset=utf-8");
        //告诉客户端以utf-8的编码方式解析发送过去的信息
        response.setCharacterEncoding("utf-8");
        //用utf-8编码方式翻译发送过来的数据
        request.setCharacterEncoding("utf-8");

        //获取输出流
        PrintWriter pw=response.getWriter();
        pw.println("{\"student\":[{\"username\":\"张三\",\"password\":\"1234\"},{\"username\":\"李四\",\"password\":\"4321\"}]}");
        pw.close();
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ///服务端返回给客户端的类型以及编码方式
                response.setContentType("application/json;charset=utf-8");
                //告诉客户端以utf-8的编码方式解析发送过去的信息
                response.setCharacterEncoding("utf-8");
                //用utf-8编码方式翻译发送过来的数据
                request.setCharacterEncoding("utf-8");
                //获取输出流
                PrintWriter pw=response.getWriter();
                pw.println("{\"student\":[{\"username\":\"李四\",\"password\":\"1234\"},{\"username\":\"张三\",\"password\":\"4321\"}]}");
                pw.close();
    }

只是将自己写的练习记下来,如果有错误或者可以改进的地方,还请各位大神指点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值