Ajax

2019-04-15  本文已影响0人  AAnna珠

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 更小、更快,更易解析。

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

<!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);
    }

}

上一篇下一篇

猜你喜欢

热点阅读