異步請求Ajax
沒有學習Ajax之前請求數據的時候都是整個頁面全部刷新了一次,也就是每次請求都會重新請求所有的資源。但是在很多時候不需要頁面全部刷新,僅僅是需要頁面的局部數據刷新即可,此時需要發送異步請求來實現這種局部數據刷新的要求,異步請求簡稱 Ajax(Asynchronous Javascript And XML),在之前一般使用js 發送異步請求,請求的數據一般是xml,但是現在 json 出現之后就不使用xml 做為數據傳輸格式標准了。使用jQuery 發送異步請求,jq中的異步請求發送有很多方式,常見的方式有:
//方式一:
$.get( //發送一個get 請求 "test.cgi",//請求的地址 {name: "smith", time:"2pm" }, //傳遞服務端的數據 function(data){ //回調函數,當請求成功之后,會自動調用該函數,data 服務端返回給客戶端數據 alert("Data Loaded: " + data); }, "json"); //表示請求的數據格式是json格式 <script type="text/javascript" src="js/jquery.min.js"></script> <Script type="text/javascript" src="js/login.js"></script> </head> <body> <a href="javascript:void(0)">取得一個雇員信息</a> $(function(){ // 為超鏈接綁定事件,點擊之后會發送請求 $("a").click(function(){ //發送請求 $.get( "emp/get", {"id":7788}, function(data){ lalert("服務器端返回的數據是:"+data); }, "json") }) })
$.getJSON(
"servlet0429/getOne",
{id:7788},
function(data){
alert(data) }) //ajax方式二 --%>
//方式三:
$.ajax({ type:"post", url:"servlet0429/getOne", data:"id=7788", dataType:"json", async:false, //實現在請求沒有完全處理完之前鎖定瀏覽器,不做后面的操作 success:function(emp){ $("table").append("<tr><td>"+ emp.empno+"</td><td>"+ emp.ename+"</td><td>"+ emp.sal+"</td><td>"+ emp.comm+"</td><td>"+ emp.mgr+"</td><td>"+ emp.deptno+"</td><td>"+ emp.hiredate+"</td><td>"+ emp.job+"</td></tr>"); } })