我有3个文件index.php,.js文件和a.php文件。我通过js(jquery)文件向a.php发出了ajax请求。我在html中获得响应,(在1 html响应中)有r 3个div但我想一次显示一个div。然后单击下一个按钮next div,它位于相同的html响应中。它通过服务器端数据(从1个AJAX获得)基本上是客户端分页。但我无法在索引页面中逐个处理3个div。
1。 请求去了 -
<script>
$(document).ready(function(){
showitem(id);
});
</script>
处理简单查询。
function showitem(id){
$.ajax({
type : "POST",
cache : true,
//dataType: "json",
url : "a.php",
data : {
proid:id
},
success: function(data) {
$("#match_item_display").html(data);// This is span in index.php
}
});
}
3。 在响应(比如说)中,我得到了HTML Divs形式的9个元素(在这种情况下为3),我想一次显示3个。
$start=0; $end=6;
for($d=0;$d<$len;$d++)
{
if($end>$count)
{
$end = $count;
match_pro("Closley Match", array_slice($recent_arr, $start, $end),$d);
}
else
{
match_pro("Closley Match", array_slice($recent_arr, $start, $end),$d);
//break;
}
$start=$end; $end=$end+6;
}
它返回3 Divs作为一个反应...
摘要 - &gt; 1-ajax请求,一些HTML div作为响应,按一个按钮顺序显示它们。
我正在进行客户端分页,因为查询一次不能返回超过9-12个响应。所以客户端脚本应该是最佳的。
答案 0 :(得分:0)
你可以将div放在一个数组中然后返回。 例如:
$response = array(0 => 'div1_data', 1 => 'div2_data', 2=>'div3_data');
echo json_encode('html' => $response); // returning to ajax call
在ajax调用响应中,您可以将其保存到js数组中; 然后用第一个元素更新区域。 在下一个按钮单击更新具有第二个元素的区域... 希望它会有所帮助。
你可以在js中做到:
index = 0;
res_data = [];
$.ajax({
type : "POST",
cache : true,
//dataType: "json",
url : "a.php",
data : {
proid:id
},
success: function(data) {
$(data.html).each(function(k,v){
res_data.push(v);
});
showNext();
}
});
function showNext(){
$("#match_item_display").html(res_data[index]);
index++;
}
function showPrev(){
if(res_data[index-1] !== 'undefined'){
$("#match_item_display").html(res_data[index-1]);
index--;
}
}
您可以在加载页面时进行ajax调用。 并将showNext()和showPrev分配给next和prev按钮的onclick事件。