我在这里很难过。我有2个PHP页面。一个实质上显示模板,点击后,一个AJAX调用调用一个外部页面并显示所有必要的信息。我的问题是我的会话变量没有更新。我正在使用一些分页和数字不更新。我的模板页面上的一些代码:AJAX调用后会话变量不会更新
Redndering分页
session_start();
$pagination .= $_SESSION['position'] == "" ? '' : 'Items '.$_SESSION['position'].'-'.$_SESSION['item_per_page'].' of '.$get_total_rows ;
if($pages > 1)
{
$pagination .= '<ul class="paginate nav nav-pills">';
for($i = 1; $i<=$pages; $i++)
{
$pagination .= '<li><a href="#" class="paginate_click" id="'.$i.'-page">'.$i.'</a></li>';
}
$pagination .= '</ul>';
}
<?php echo $pagination; ?>
<div id="results">
<!-- Results from query will go in here -->
</div>
j$(".paginate_click").click(function (e) {
j$("#results").prepend('<div class="loading-indication"><img src="/assets/loader.gif" /></div>');
var clicked_id = j$(this).attr("id").split("-"); //ID of clicked element, split() to get page number.
var page_num = parseInt(clicked_id[0]); //clicked_id[0] holds the page number we need
j$('.paginate_click').removeClass('active'); //remove any active class
//post page number and load returned data into result element
//notice (page_num-1), subtract 1 to get actual starting point
j$("#results").load("development_fetch.php", {'page': (page_num-1)}, function(){
});
j$(this).addClass('active'); //add active class to currently clicked element
return false; //prevent going to herf link
});
在development_fetch.php
:
session_start();
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH);
$position = ($page_number * $item_per_page);
$_SESSION['position'] = $position;
$_SESSION['item_per_page'] = $item_per_page;
//Grab code to display inside template blah.
如果您在点击分页第1页上,应该导致:
项目0 - 100的1000
如果我点击第2页,它应该是:
项目100 - 200 1000
而是它只是停留在:
项目0 - 100 1000
0是 100是$_SESSION['item_per_page']
我不明白为什么它没有更新。请帮助堆垛机!
'session_start();'请在**每**页面上。 – Sharky
忘记哟提及,session_start()在每一页 –
你可以从ajax返回一个'print_r($ _ POST);'来查看实际上到达ajax的内容吗? – Sharky