RT,js代码为function viewpage(p){ 
if(window.XMLHttpRequest){ 
var xmlReq = new XMLHttpRequest(); 
} else if(window.ActiveXObject) { 
var xmlReq = new ActiveXObject('Microsoft.XMLHTTP'); 

var formData = "page="+p; 
VAR URL="test1.php?"+formData;
xmlReq.onreadystatechange = function(){ 
if(xmlReq.readyState == 4){ 
document.getElementById('content2').innerHTML = xmlReq.responseText; 


xmlReq.open("GET", "URL", true); 
xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
xmlReq.send(); 
return false; 

分页处的代码为
 if($page>1) echo "<a onclick=\"viewpage(".$first.")\" herf='#'>首页</a>|";
 if ($page>1) echo "<a onclick=\"viewpage(".$prev.")\" href='#'>上页</a> | "; 
 if ($page<$page_count) echo "<a onclick=\"viewpage(".$next.")\" href='test1.php'>下页</a> | "; 
 if ($page<$page_count) echo "<a onclick=\"viewpage(".$last.")\" href='#'>尾页</a>"; 
现在我点下一页出现的是http://127.0.0.1/test1.php#这个页面,由于代码我是参考人家的,请问href='#'是什么意思? 还有回调函数里把值赋给了id=content2的东东,网上参考测试代码跟我自己的代码都没写这个接收值的ID控件,请问有关系么?求高手帮我改改,在线等谢谢了

解决方案 »

  1.   

    var URL和open("GET",URL,TRUE )已经改正,还是不行- -
      

  2.   

    href='#' 是跳转到当前页面某个锚点,这样写相当于跳转本页
      

  3.   

    id=content2就是你要刷新的块
    例如<div id="content2">请等待……</div>
    这个容器需要ajax发送前就存在的,人家的代码没有可能是用js建立的,没有直接写出来你的页面没有这个容器怎能刷新呢?看你是新手,加个补充:不一定是div,但一定要是个能重写内容的容器
      

  4.   

    这个我知道了,但是为什么每次我点下一页,就冒出个http://127.0.0.1/test1.php#,然后啥都没变,郁闷
      

  5.   

    if(xmlReq.readyState == 4){ 
        document.getElementById('content2').innerHTML = xmlReq.responseText;
        //redyState值为4时表示响应已完成,可以获取并使用服务器的响应了
        //content2是html页面中某个元素的ID,这一句的意思用获取的数据更新content2
        //比如html代码中<div id='content2'></div>,xmrReq.responseText的内容是<p>获取数据成功</p>
        //执行完这一句后,文档结构相应会变为<div id='content2'><p>获取数据成功</p></div>
    }

    href='#'是指锚点链接到本页面,如果没有绑定onclick事件,点击这样的链接后会跳转到本页面的顶部,但不会刷新页面。注意输出分页的代码:
     if($page>1) echo "<a onclick=\"viewpage(".$first.")\" herf='#'>首页</a>|";
    这里的viewpage()显然是一个自定义的javascript函数,功能肯定是进行页面跳转。
      

  6.   

    <!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" />
    <title>无标题文档</title>
    </head><script> 
    function viewpage(p){ 
    if(window.XMLHttpRequest){ 
    var xmlReq = new XMLHttpRequest(); 
    } else if(window.ActiveXObject) { 
    var xmlReq = new ActiveXObject('Microsoft.XMLHTTP'); 

    var formData = "page="+p; 
    VAR URL="test1.php?"+formData;
    xmlReq.onreadystatechange = function(){ 
    if(xmlReq.readyState == 4){ 
    document.getElementById('content2').innerHTML = xmlReq.responseText; 


    xmlReq.open("GET", "URL", true); 
    xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    xmlReq.send(); 
    return false; 

    </script> <body>
    <div id="content2">
    <?php
    $pagesize=1;
    echo $_GET['page'];
    @ $db = new mysqli('localhost', 'root', 'he251251', 'test');
    if (mysqli_connect_errno()) 
       {
          echo 'Error: Could not connect to database.  Please try again later.';
          exit;
       }
    $sql="select * from data_players";
    $result = $db->query($sql); $amount=$result->num_rows;
    //计算总共有多少页
    if($amount)
    {
    if($amount<$pagesize) //如果总数据量少于$Pagesize 那么只有一页
    {
    $page_count=1;
    }
    if($amount%$pagesize) //取总数除以每页,如果有余数,则页数等于总数据量除以每页数再+1
    {
    $page_count=(int)($amount/$pagesize)+1;
    }
    else //如果没有余数,则页数等于总数除以每页数
    {
    $page_count=$amount/$pagesize;
    }
    }
    else
    {
    $page_count=0;
    }

    //获取当前页数
    if(isset($_GET['page']))
    {
    $page=intval($_GET['page']);
    echo $page;
    }
    else
    {
    $page=1;
    }

    $first=1; 
    $prev=$page-1; 
    $next=$page+1; 
    $last=$page_count;
    //记录偏移量
    $offser=$pagesize*($page-1);
    if($amount)
    {
    $sql="select * from data_players order by pid limit ".($page-1)*$pagesize.",".$pagesize;
    //echo $sql;
    //$result=mysql_query($sql);
    $result = $db->query($sql);
    $num_results=$result->num_rows;
    echo "<table border=\"1\" id=\"tb\">";
    echo "<tr bgcolor=\"#6699CC\"><td>用户名</td><td>用户密码</td><td>昵称</td><td>角色</td><td>性别</td><td>注册时间</td></tr>";

    for ($i=0; $i <$num_results; $i++)
    {
    $row=$result->fetch_assoc();
    //输出用户名,密码和昵称
    echo "<tr><td>".$row['uname']."</td><td>".$row['pwd']."</td><td>".$row['nick']."</td>";
        //输出角色
    switch($row['role'])
    {
    case 1:
    echo "<td>法师</td>";
    break;
    case 2:
    echo "<td>术士</td>";
    break;
    }
    //输出性别
    switch($row['sex'])
    {
    case 1:
    echo "<td>男</td>";
    break;
    case 2:
    echo "<td>女</td>";
    break;
    }
    //输出注册时间
    $regdate=date('Y-m-d H:i:s',$row['reg_time']);

    echo "<td>".$regdate."</td>";
       }
    echo "</tr></table>\n";
    }
    echo "<TABLE style=\"MARGIN-TOP: 30px\" cellSpacing=0 cellPadding=0 width=\"100%\""; 
    echo "border=0>";
    echo "<TBODY><TR><TD colSpan=3 height=20>"; 
    echo "<DIV align=center>"; 
    echo "<p align=left><FONT color=red>第".$page."页/共".$page_count."页|共".$amount."条记录</FONT>|";
    if($page>1) echo "<a onclick=\"viewpage(".$first.")\" herf='#'>首页</a>|";
    if ($page>1) echo "<a onclick=\"viewpage(".$prev.")\" href='#'>上页</a> | "; 
    if ($page<$page_count) echo "<a onclick=\"viewpage(2)\" href='#'>下页</a> | "; 
    if ($page<$page_count) echo "<a onclick=\"viewpage(".$last.")\" href='#'>尾页</a>";  echo "转到第<input  maxLength=3 size=3 value=1 name=goto_page>页 <input hideFocus onclick=\"viewpage(document.all.goto_page.value)\" type=button value=Go name=cmd_goto>";
    echo "</p></div></td></tr></tbody></table>";
    ?>
    </div>
    </body>
    </html>
    全代码在这里,每次点击,就出现http://127.0.0.1/test1.php#,然后页面五变化
      

  7.   

    用到了AJAX无刷新自然感觉不到页面在变化的!
    如果会刷新闪烁,那么也就不是AJAX!