我的网站标题中有消息块。当用户单击“关闭消息”时,该消息应该消失并且在当前用户会话期间看不到。所以我决定使用 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 函数中打印请求数据时,它会显示“隐藏”。请给我解释一下,我在哪里做错了。
PS 在本地服务器上测试(最新的 WAMP)