main.php:
<div id="test" class="test">
<?php include("data.php");?>
</div>
data.php: 在这个php中,我有一些查询,然后打印一些列表......每个列表都在一个自己的DIV标签中,并且当页面加载时所有DIV标签都“关闭”,除了用户打开的最后一个。我使用cookie来保存DIV ID,以便知道在重新加载页面时我必须打开哪个。
JS PART:
var test= $.cookie('test_cook');
$('div[class*="test"]').hide();
var op = $.cookie("test_cook");
alert(op);
$('div.test' + op).show();
$('input:image').click( function() {
var nr = $(this).attr('id').substr(7,2);
$('div.test' + nr).toggle(400);
$.cookie("test", nr, {expires:1 });
});
PHP PART:
在searctest.php中打印一些用户搜索的列表,如果需要,可以发送到数据库。
include("searchtest.php");
如果我重新加载或关闭页面,那么cookie运行良好,最后打开的DIV标记保持打开状态。但是在用户进行搜索并对其进行POST后,cookie变量将为空。
你能否告诉我一些如何绕过这个?
答案 0 :(得分:0)
使用Ajax而不是发布。这样就不会消除本地页面上下文。
答案 1 :(得分:0)
我真的不知道这个问题是什么,但你可以强制在POST响应的标题中重新加载cookie。
<?php setcookie(cookieName,$_COOKIE["cookieName"],time, domain,... ); ?>
我认为这不是更好的解决方案..但它可行。
一个问题。 post请求的路径是在同一条路径中?例如,如果cookie在路径/示例/中有效,并且您的帖子将转到另一个路径/ example2 /,则cookie将无法在/ example2 / path中运行。在这种情况下,您可以在根路径(/)中声明cookie,但我不知道如何在该JQuery插件中执行它。
祝你好运,抱歉我的英语不好。