Php AJAX请求时未维护会话信息
我在呈现页面时创建会话。之后,我每4秒调用一次AJAX页面。AJAX页面没有指定会话信息 原因可能是什么。ajax请求是否不维护会话信息 代码: 普通HTMLPhp AJAX请求时未维护会话信息,php,javascript,ajax,session,Php,Javascript,Ajax,Session,我在呈现页面时创建会话。之后,我每4秒调用一次AJAX页面。AJAX页面没有指定会话信息 原因可能是什么。ajax请求是否不维护会话信息 代码: 普通HTML <body onload="timerint(11)"> <div style="display:none;"> <button id="prev"><<</button> <button id="next">>></button&g
<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>';
}
?>
会话数据通常存储在所有浏览器的cookie中,或者您可以使用请求的查询字符串传递参数。例如:
../render_latest.php?lastepoch=123456
并读取php中的lastepoch
参数
或者,您可以在现代浏览器中使用HTML5客户端存储。可能是render_latest.php中的输入错误。您使用$\u会话而不是$\u会话的e会话数据未存储在cookie中。cookie仅存储会话id,实际数据位于服务器上。这家伙的问题是,由于某种原因,会话数据根本没有被存储。@slavic,可能不清楚,但我想说的是,当你开始使用ajax时,你通常是无状态的,如果需要,你可以在客户端存储会话数据。你当然可以将一些存储能力委托给浏览器,但不是用户名和密码,很明显,但这里是关于一个日期。我也不确定在会话中存储user/pwd是否是个好主意。