AJAX请求时不保留会话信息

时间:2010-10-07 07:07:56

标签: 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>
</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>';
  }

?> 

2 个答案:

答案 0 :(得分:1)

可能是render_latest.php中的拼写错误。你使用$ _session代替$ _SESSION

答案 1 :(得分:0)

会话数据通常存储在所有浏览器的cookie中,或者您可以使用请求的查询字符串来传递参数。例如:.../render_latest.php?lastepoch=123456并阅读php中的lastepoch参数。

或者您可以在现代浏览器中使用HTML5客户端存储。

相关问题