Ajax

作者: AAnna珠 | 来源:发表于2019-04-15 16:08 被阅读0次

    1.Ajax全称:“Asynchronous JavaScript and XML”,
    异步javaScript和XML。
    在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。(可以实现页面部分更新)
    异步:(无需等到dom操作完成)
    同步:同步的模式属于阻塞模式,这样会导致多条线路执行时又必须一条一条执行,会让Web 页面出现假死状态(必须页面加载完成才执行)
    2.jQuery 采用了三层封装:最底层的封装方法为:.ajax(),而通过这层封装了第二层有三种方法:.load()、.get()和.post(),最高层是.getScript()和$.getJSON()方法。
    3.load() 方法从服务器加载数据,并把返回的数据放入被选元素中。
    4.get() 和 post() 方法:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
    </script>
    <script>
    $(document).ready(function(){
        $("button").click(function(){
            $.get("/try/ajax/demo_test.php",function(data,status){
                alert("数据: " + data + "\n状态: " + status);
            });
        });
    });
    </script>
    </head>
    <body>
    
    <button>发送一个 HTTP GET 请求并获取返回结果</button>
    
    </body>
    </html>
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
    </script>
    <script>
    $(document).ready(function(){
        $("button").click(function(){
            $.post("/try/ajax/demo_test_post.php",{
                name:"菜鸟教程",
                url:"http://www.runoob.com"
            },
            function(data,status){
                alert("数据: \n" + data + "\n状态: " + status);
            });
        });
    });
    </script>
    </head>
    <body>
    
    <button>发送一个 HTTP POST 请求页面并获取返回内容</button>
    
    </body>
    </html>
    

    3.JSON: JavaScript Object Notation(JavaScript 对象表示法)

    JSON 是存储和交换文本信息的语法。类似 XML。

    JSON 比 XML 更小、更快,更易解析。

    • JSON 语法是 JavaScript 对象表示语法的子集。

    数据在名称/值对中
    数据由逗号分隔
    大括号保存对象
    中括号保存数组

    • 你可以使用点号(.)来访问对象的值:
      也可以使用中括号([])来访问对象的值:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    
    <p>你也可以使用中括号([])来访问 JOSN 对象的值:</p>
    
    <p id="demo"></p>
    
    <script>
    
    var myObj, x;
    myObj = myObj = { "name":"runoob", "alexa":10000, "site":null };
    x = myObj["name"];
    document.getElementById("demo").innerHTML = x;
    
    </script>
    
    </body>
    </html>
    

    4.get方法组合效果展示:
    4.1.html:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
            <title></title>
        </head>
        <style>
        </style>
        <script type="text/javascript">
            $(function(){
                $("#a").blur(function(){
                    $.get(
                        "http://localhost:8090/TestWeb03/ajax01",
                        {name:$("#a").val(),password:"123"},
                        function(data){
                            $("#nameMsg").text(data);
                        }
                    );
                })
            });
        </script>
        <body>
        姓名:<input type="text" id="a"><span id="nameMsg"></span><br>
        密码:<input type="text" id="b"><br>
        </body>
    </html>
    

    4.2.servlet

    package com.servlet;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class ajax01
     */
    @WebServlet("/ajax01")
    public class ajax01 extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public ajax01() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            String s= request.getParameter("name");
            if("zhangsan".equals(s)){
            response.getWriter().append("error");
            }else{
                response.getWriter().append("success");
            }
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:Ajax

          本文链接:https://www.haomeiwen.com/subject/vzrtwqtx.html