【发布时间】:2015-02-21 05:58:35
【问题描述】:
我的网站标题中有消息块。当用户单击“关闭消息”时,该消息应该消失并且在当前用户会话期间看不到。 所以我决定使用jQuery Ajax:
$('#lang-msg .close').on('click', function(event) {
event.preventDefault();
$.ajax({
url:"remlmsg.php",
type:"POST",
data:"id=2,myajaxquery=true ",
success:function(html){
console.log(html);
$('#lang-msg').fadeOut(300,function() {
$(this).remove();
})
}
})
})
而在 remlmsg.php 我只有代码,它定义了新的会话变量:
$_SESSION['langmsg'] = 'hide';
echo $_SESSION['langmsg'];
在 header.php 文件中,我检查 $_SESSION['langmsg'] 是否未定义。
if (!isset($_SESSION['langmsg'])) {
if ($sLanguage == 'ru') {
echo '<script type="text/javascript">
$( function() {
showLangMessage("en");
})
</script>';
}
}
而且它说的永远都是真的!但是当我在 ajax 函数中打印请求数据时,它会显示“隐藏”。 请给我解释一下,我在哪里做错了。
附: 在本地服务器上测试(最新的 WAMP)
【问题讨论】:
-
你在文件顶部使用 session_start 吗?
-
我在 header.php 文件中有它