然后通过javascipt删掉原来的所有tr,再加入新的tr是这样吗,不太理解这个机制?

解决方案 »

  1.   

    当然可以,只要覆盖 tbody 就可以了
    但不知道你想做什么
      

  2.   

    自己写回调函数是什么意思? 这个方法是不用覆盖 tbody 是吗
      

  3.   

    数据由php返回后,你要自己用Js写Ajax的回调函数。简单点说ajax成功获取到了服务器端的数据,也就是你所说的多行<tr>。现在你要写个函数,来处理返回的数据。
    xmlhttp.onreadystatechange = function (){
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {  // 服务器成功返回数据
            var old_table = document.getElementByTagName('table')[0]; 
            old_table.innerHTML = xmlhttp.responseText; // 将原来的table内容更换
        }
    }
    参考:http://www.w3school.com.cn/htmldom/prop_tablerow_innerhtml.asp
      

  4.   

    貌似楼主没把问题叙述清楚!楼主是想做ajax异步刷新页面。还是在刷新的时候添加一行数据???
      

  5.   

    test.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.6/jquery.js"></script>
     
    </head>
    <table>
    <thead>
        <tr>
          <th>Month</th> 
        </tr>
      </thead>  <tfoot>
        <tr>
          <td>Sum</td> 
        </tr>
      </tfoot>  <tbody id="content"></tbody></table>
    <body>

    <input type="button" id="submit" value="提交">
    <script type="text/javascript"> 
        $("#submit").click(function(){
    $.ajax({url: 'p.php', 
    type: 'GET',
    dataType: 'html', 
    timeout: 1000,  error: function(){alert('Error');},   success: function(result){
    $("#content").html(result);
    }   });  
    return false;
    });
         
    </script>
    </body>
    </html>
    p.php<?php
    exit("<tr><td>1</td></tr><tr><td>12</td></tr><tr><td>13</td></tr><tr><td>14</td></tr><tr><td>15</td></tr>");
    也可以不返回html,返回json到浏览器,用js重组
      

  6.   

    我明白了, 所谓异步刷新就是通过ajax返回数据给table,替换原来table中的数据, 而不是想象中的直接重载刷新table数据 , 是这样吧?   
      

  7.   

    zy205817啥意思啊?所谓异步刷新就是通过ajax返回数据给table,替换原来table中的数据, 而不是想象中的直接重载刷新table数据, 这样理解对不对? 
      

  8.   

    如果数据量非常大,还要不要用ajax呢
      

  9.   

    使用 ajax 的目的是为了有较好的用户体验再者说,你觉得是重新载入整个页面快呢,还是只载入一部分快?
      

  10.   

    恩  xuzuning没明白我意思 我意思是实际ajax不是重新载入了table数据,而是通过回调函数替换了table原来数据是这样吧?
      

  11.   


    这位大哥貌似在php论坛很有名气啊, 人家一般怎么称呼你呢?
      

  12.   

    你的理解不完整
    ajax 可将服务器返回的 HTML 代码 赋值给目标的 innerHTML
    也可以将返回的数据(xml、json)通过代码逐个赋值予目标具体使用哪种方式,就看你的喜好了
      

  13.   


    小声的:“怪蜀黍”别说我告诉你的啊...CSDN镇坛之宝 
    体能 99 法术 99
      

  14.   

    如果一个页面仅有一个table,插入数据刷新,ajax还得装入XMLHttpRequest,还得把responseText赋值给
    table , 效率是不是不如直接form提交啊?
      

  15.   

    别担心那点效率了,那是在客户端完成的事情.
    关键是用户体验比你提交个form 然后刷新整个页面强多了.