<html>
<head>
<link rel="stylesheet"  href="jquery.mobile-1.0rc1.min.css" />
<script src="jquery-1.6.3.min.js"></script>
<script src="jquery.mobile-1.0rc1.min.js"></script>
<script type="text/javascript">
var timestamp;
function ct(url){
            if(timestamp==null)
            {
            timestamp=1;
            }
            else
            {
                timestamp=timestamp+1;
            }

            $.ajax({
                data : 'timestamp='+timestamp,
                url : url,
                type : 'POST',
                dataType : 'json',
                timeout : 0,
                success : function(data){
                    
                     $("#ab").append(data);
                 }
            })            }
</script>
</head><body>
<div  data-role="page" class="type-home" > <div data-role="header" data-position="inline" data-theme="d">
    </div> <div data-role="content">
<div class="content-secondary" >
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b">
            <li><a href="#">按钮1</a></li>
<li><a href="#">按钮2</a></li>
<li><a href="#">按钮3</a></li>
<li id="ab"></li> </ul>
</div>

<div class="content-primary">
<button onclick="ct('test.php')">更多...</button> 
</div>
</div>
<div data-role="footer" class="footer-docs" data-theme="c">
<h1></h1> 
</div>
</body>
</div>
</html>
<?php $p=$_POST["timestamp"];for($i=1;$i<=$p;$i++)
{
$list[]=$i."<br>";
}
$name=implode("",$list);echo json_encode($name);
?>数据从服务器端返回 都是输出在一个<li></li>中,求一条数据输出一个<li></li>
比如:返回的数据是:1,2,3  输出则是:<li>1</li>  <li>2</li>  <li>3</li>

解决方案 »

  1.   

    如果你打算用 js 实现,那么请到 web开发-javascript 版面求解。因为这已经不是 php 的事情了
    如果你打算用 php 实现,那么在数据返回前就加上 li 标记
      

  2.   

    <?php $p=$_POST["timestamp"];for($i=1;$i<=$p;$i++)
    {
        $list[] = '<li>' . $i . '</li>';
    }
    $name=implode("",$list);echo json_encode($name);
    ?>
      

  3.   


    那么在数据返回前就加上 li 标记---这样子做就是可以实现一条数据一列 但是这样的数据没有css的效果
      

  4.   

    楼主 又是你 呵呵 难得
    楼上说的都对,另外还有一个逻辑问题var timestamp;
    function ct(url){
                if(timestamp==null)
                {
                timestamp=1;
                }
                else
                {
                    timestamp=timestamp+1;
                }
                这一段 你先var timestamp  然后if(timestamp == null)那这里会一直是true
    所以永远不会返回1,2,3要把timestamp做为一个形参传进函数 如function ct(url,timestamp){}
      

  5.   


    <?php  $p=$_POST["timestamp"];
    $sthtml="<ul data-role=\"listview\" data-inset=\"true\" data-theme=\"c\" data-dividertheme=\"b\">";
    for($i=1;$i<=$p;$i++)
    {
      $sthtml.="<li><a href=\"".$link."\">".$i."</a></li>";
    }
    $sthtml.="</ul>";echo json_encode($sthtml);
    ?> 
    php文件改成这样是返回一条一条数据 但是显示的效果却是下面这样而我想要的效果却是这样的
      

  6.   


    你的结果是一个字符串,又不是数组,json_encode干吗?