1
请耐心等待,我需要帮助。如何使服务器在异步设置时确认浏览器状态
在我的网站:
的index.php - 显示这种形式20个链接:
$result = mysql_query("my query"); while($slice = mysql_fetch_assoc($result)){ $url = $slice['url']; $perf = $slice['perf']; <a class="ajaxquery" data-title="<? echo $perf; ?>" href="$<? echo $url ?>">anchor</a> endwhile;
如果有人点击了20个链接之一,我有这样的AJAX代码,看哪个是哪个
$perf
被点击,发送数据到session.php
:function ajaxsession(){ $("a.ajaxquery").click(function() { var perf = $(this).data('title'); $.ajax({ type: "POST", url: "/session.php", data: "perf="+perf, success: function(html){ $("#results").append(html); } }); }); }
此代码发送以下内容
session.php
:session_start(); $_SESSION['perf'] = $_POST['perf']; // Store session data
而且我
single.php
页面上我调用存储在会话变量:echo $_SESSION['perf'];
在single.php
我得到正确的$perf
只要我回到index.php
使用主页链接。
如果我使用的浏览器后退箭头回到index.php
,那么$perf
没有使用onclick
jQuery代码更新。
您对此有何想法?我在想,也许我应该以某种方式销毁会话,一旦达到single.php
。这是一个好主意吗?
我想你已经回答了你自己的问题,因为后退按钮不是你的点击处理程序的一方。你考虑过COOKIE或SESSION吗?或者以其他方式在服务器上存储当前状态以供服务器使用,而无需往返? – 2011-12-28 02:56:01
我只是一个新手:(我似乎无法完成此工作 – webmasters 2011-12-28 03:00:46
建议(与您的问题无关):用'data:{perf:perf}'替换'data:“perf =”+ perf'或*你*必须确保这个值是正确的url编码(你想避免的 - 特别是当它很容易) – ThiefMaster 2011-12-28 03:03:20