我在渲染页面时创建会话。之后我每隔4秒调用一次AJAX页面。 AJAX页面没有获取会话信息。
可能是什么原因。 ajax请求是否不维护会话信息?
代码:
普通HTML
<body onload="timerint(11)">
<div style="display:none;">
<button id="prev"><<</button>
<button id="next">>></button>
</div>
<div class="anyClass">
<ul id="news-ul">
<?php
include('render_latest.php');
?>
</ul>
</div>
</body>
render_latest.php
<?php
session_start();
$con = mysql_connect("localhost","root","root");
mysql_select_db("test_db", $con);
$i=1;
$lastresult=mysql_query("SELECT MAX(epoch) as latestepoch FROM list_data");
while($row = mysql_fetch_array($lastresult))
{
//$_session['lastepoch'] = $row['latestepoch'] ;
$_session['lastepoch']=12345;
}
$result=mysql_query("SELECT * FROM list_data order by epoch desc LIMIT 4 ");
while($row = mysql_fetch_array($result))
{
echo '<li>';
echo $row['list_item'] . '<br/>' ;
echo $row['epoch'] . '<br/>';
echo $_session['lastepoch'];
echo '</li>';
}
?>
AJAX页面
<?php
session_start();
$t=$_SESSION['lastepoch'];
$con = mysql_connect("localhost","root","root");
mysql_select_db("test_db", $con);
$result=mysql_query("SELECT * FROM list_data order by epoch desc LIMIT 1 ");
while($row = mysql_fetch_array($result))
{
echo '<li>';
echo $t;
echo $row['list_item'] ;
echo '</li>';
}
?>
答案 0 :(得分:1)
可能是render_latest.php中的拼写错误。你使用$ _session代替$ _SESSION
答案 1 :(得分:0)
会话数据通常存储在所有浏览器的cookie中,或者您可以使用请求的查询字符串来传递参数。例如:.../render_latest.php?lastepoch=123456
并阅读php中的lastepoch
参数。
或者您可以在现代浏览器中使用HTML5客户端存储。