【发布时间】:2016-07-06 07:05:13
【问题描述】:
我的用于取消设置会话变量的 PHP 脚本不起作用。
我需要调用一个 PHP 文件 destroy.php,其中包含从 ajax 取消设置会话变量的代码,除了会话清除之外一切正常。
我正在发布清除会话变量的代码,请指出我的错误。
jQuery 代码:
$.ajax
({
type: "POST",
url: "SubmitReview.php",
data: dataString,
cache: false,
success: function(response)
{
$.fn.destroySession();
$('body').animate({scrollTop:0}, 500);
$('body').children(':not(div.ErrorMessageContainer)').fadeTo(500, 0.1);
$('div.ErrorMessageContainer').html(response).fadeIn(500).delay(5000).fadeOut(500);
setTimeout(function()
{
$('body').children(':not(div.ErrorMessageContainer)').fadeTo(500, 1);
}, 5400);
setTimeout(function()
{
window.location.href = "Thanks.php";
}, 5600);
}
});
$.fn.destroySession = function()
{
$.post("Destroy.php");
}
destroy.php:
<?php
if(isset($_SESSION['MN']))
{
$_SESSION['MN'] = array();
unset($_SESSION['MN']);
}
?>
【问题讨论】:
-
结合会话和 ajax 有时会使会话不起作用。如果要使用ajax,请通过参数而不是使用会话。
-
会话开始了吗?加上
$.post("Destroy.php");和destroy.php是 NIX 系统上的两种不同的动物。 -
@Fred-ii- 像一位魅力先生一样工作......非常感谢......我在想的是,当我清理会话时,为什么要再次开始会话...... .但是你的解决方案帮助了我.....谢谢吨....
-
@KushAcharya 不客气,干杯
-
@frosty 谢谢先生您的反馈......我一定会记住这一点......