Ajax動(dòng)態(tài)添加Table

Ajax是一步的javaScript,是基于javascript實(shí)現(xiàn)的功能,會(huì)有更好的用戶體驗(yàn),比如無(wú)業(yè)面刷新技術(shù)根據(jù)查詢的結(jié)果集動(dòng)態(tài)的構(gòu)造網(wǎng)頁(yè)元素。

為紫陽(yáng)等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及紫陽(yáng)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、紫陽(yáng)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

1.原生的Ajax

Ajax技術(shù)最核心的Javascript對(duì)象是XMLHttpRequest,它提供了對(duì)Http請(qǐng)求的能力,并且它可以在無(wú)刷新的情況下去請(qǐng)求并接收資源,
目前幾乎所有瀏覽器都支持這個(gè)對(duì)象。
在請(qǐng)求某個(gè)url之前,需要綁定請(qǐng)求處理后觸發(fā)的事件:
var xmlhttpRequest=new XMLHttpRequest();
xmlhttpRequest.onreadystatechange=function(){
           if (xmlhttpRequest.readyState==4 && xmlhttpRequest.status==200){
             document.getElementById("content").value=xmlhttpRequest.responseText;
           }
 }
其中readyState=4表示Http響應(yīng)已經(jīng)完全接收,status是狀態(tài)碼,200表示成功,
當(dāng)兩個(gè)條件都滿足時(shí),就可以接收

括號(hào)中:GET表示get的請(qǐng)求方式,后面表示的是一個(gè)文本文檔的路徑(在我的ajax的第一篇博文中已經(jīng)講過(guò)了)。

這里是直接請(qǐng)求的文本文檔,假如請(qǐng)求服務(wù)器上的某個(gè)action,那么action中應(yīng)該使用response對(duì)象
給客戶端寫數(shù)據(jù):
Writer writer=response.getWriter();
writer.write("iserror");
writer.flush();
writer.close();

2.動(dòng)態(tài)增加Table

首先需要建立一個(gè)web工程,然后導(dǎo)入需要的工具包:fastjson-1.1.23.jar

建立一個(gè)servlet取名為:AjaxTable,我們下面會(huì)用GET請(qǐng)求,所以在get方法中邪如下代碼:

        response.setContentType("text/html;charset=utf-8");
List<User> userlist=new ArrayList<User>();
for(int i=0;i<10;i++){
    User user=new User();
    user.setUsername("小明");
    user.setPassword(i%2+"");
    userlist.add(user);
}
String json=JSON.toJSONString(userlist);
PrintWriter pw=response.getWriter();
pw.println(json);
pw.flush();
pw.close();

代碼最上面一行為了防止有亂碼。

這一句:String json=JSON.toJSONString(userlist);的JSON對(duì)象時(shí)我們上面導(dǎo)入的工具包中的內(nèi)容。

建立一個(gè)jsp取名為:AjaxTable.jsp,在使用之前我們需要導(dǎo)入javascript的一個(gè)包,包名是:jquery-1.7.1.js

完整代碼如下:

<html>
  <head>
    <title>動(dòng)態(tài)增加Table</title>
  <script type="text/javascript" src="<%=path%>/js/jquery-1.7.1.js"></script>
  <script type="text/javascript">
  function createTable(){
         $.ajax({
            url:"<%=path%>/servlet/JsonTableAjax",
            dataType:"json",
            type:"get",
            success:function(results){
 var tableStr="<table border='1'><tr><td>姓名</td><td>年齡</td></tr>";
              for(var i=0;i<results.length;i++){
                var p=results[i];
tableStr=tableStr+"<tr><td>"+p.username+"</td><td>"+p.password+"</td></tr>";
              }
              tableStr=tableStr+"</table>";
              $("#tableid").html(tableStr);       
            }   
         });    
      }
  </script>
  </head>
                                  
  <body>
    <input type="button" value="創(chuàng)建table"     <div id="tableid"></div>
  </body>
</html>

url表示跳轉(zhuǎn)的servlet的路徑,在web.xml里面找;dataType是數(shù)據(jù)類型,servlet使用json去接收的;type是請(qǐng)求方式,用的是get。

$("#tableid").html(tableStr);是使用的javascript的框架Jquery的元素選擇器。

最后在input里加一個(gè)onclick事件。

名稱欄目:Ajax動(dòng)態(tài)添加Table
文章起源:http://muchs.cn/article14/ipjoge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、微信小程序、標(biāo)簽優(yōu)化外貿(mào)網(wǎng)站建設(shè)、域名注冊(cè)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)