[英]JS cookie variable lost after post
main.php:
<div id="test" class="test">
<?php include("data.php");?>
</div>
data.php:在此php中,我有一些查询,然后打印一些列表...每个列表都在自己的DIV标签中,并且在加载页面时所有DIV标签都“关闭”,除了最后一个用户已打开。 我使用cookie保存DIV ID,以了解重新加载页面时必须打开的ID。
JS部分:
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部分:
在searctest.php中,有一些打印列表,列出用户搜索的内容,如果需要,可以将其发送到数据库。
include("searchtest.php");
如果我重新加载或关闭页面,则cookie运行良好,最后打开的DIV标签保持打开状态。 但是在用户进行搜索并发布之后,cookie变量将为空。
你能给我建议一下我该如何绕过?
使用Ajax而不是发布。 这样就不会清除本地页面上下文。
我不知道真正的问题是什么,但是您可以强制在POST响应的标头中重新加载cookie。
<?php setcookie(cookieName,$_COOKIE["cookieName"],time, domain,... ); ?>
我认为这不是更好的解决方案。但是它可以工作。
一个问题。 发布请求的路径在同一路径吗? 例如,如果cookie在/ example /路径中有效,而您的帖子将转到另一个路径/ example2 /,则cookie在/ example2 /路径中将无效。 在这种情况下,您可以在根路径(/)中声明cookie,但是我不知道如何在该JQuery插件中进行操作。
祝你好运,对不起,我英语不好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.