<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>
如果你打算用 php 实现,那么在数据返回前就加上 li 标记
{
$list[] = '<li>' . $i . '</li>';
}
$name=implode("",$list);echo json_encode($name);
?>
那么在数据返回前就加上 li 标记---这样子做就是可以实现一条数据一列 但是这样的数据没有css的效果
楼上说的都对,另外还有一个逻辑问题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){}
<?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文件改成这样是返回一条一条数据 但是显示的效果却是下面这样而我想要的效果却是这样的
你的结果是一个字符串,又不是数组,json_encode干吗?