ajax如何刷新smarty的session,我这样做好象不行啊
php吧
全部回复
仅看楼主
level 11
我在前台使用ajax,登录成功后,后台写入session,前台判断却没有session,如果按f5刷新session才存在,我大概是这样做的
html方面:
<{if <{$smarty.session.user}> }>
<span id="user">
<{$smarty.session.user}>你好
</span>
<{else}>
<span id="user">
游客你好
</span>
<{/if}>
<input type='button' id='but'/>
ajax方面:
$("#but").click(function(){
$.post(
"地址",
{
user=登录框user的值
},
function(){
if(data=='成功'){
alert(<{$smarty.session.user}>')//这个是空的,可我已经在php方面把他加进去了,如何在html那里刷新,让他能判断到session,如果按f5刷新session是存在的。
}
}
)
})
php方面:
class login{
function login_test(){
session('user',$_POST['user']);
exit('成功');
}
}
2016年08月20日 03点08分 1
level 6
登陆成功之后 把会员信息 返回来就行啦
2016年08月21日 01点08分 2
你是说把在php端return session吗?能不能具体说一下 给个大概的代码
2016年08月21日 18点08分
level 14
ajax如何刷新smarty的session,你这样做好象不行啊
2016年08月21日 03点08分 3
那我应该怎么做 直接用js刷新页面吗
2016年08月21日 18点08分
你给个大概的的代码吗 谢谢了
2016年08月21日 18点08分
level 7
你按F5才刷新证明AJAX还没弄好
2016年08月21日 12点08分 4
那我应该怎么做
2016年08月21日 18点08分
能不能给个大概的代码 谢谢了
2016年08月21日 18点08分
回复 14小胖籽 :我有研究了一下。ajax好像不能返回session,强行返回也是返回session的值,也就是一个字符串,对于smarty来说,依然判断不到session存在,直接把session的值写入似乎意义不大。我现在就是ajax成功接受到返回信息,直接window.r
2016年08月22日 01点08分
@哥没钱和你寂寞 ajax返回的是json的格式的,ajax我就用来做表单而已所以没深入研究!看来你研究得不错 谢谢你告诉我这些
2016年08月22日 02点08分
level 14
你 $.post function里没有写'data'所以获取不到传回来的数据
2016年08月22日 07点08分 5
level 14
$.post( "地址",{ user=登录框user的值 } , function( data ){
if(data=='成功'){ alert(<{$smarty.session.user}>') }
})
这么写 function里你没写data
2016年08月22日 07点08分 6
我在自己的例子写了 简化到这里忘写了,我又研究了一下 smarty if判断中的条件应该只会在页面加载的时候仅判断一次,强行返回session的值,仅仅是一个字符串,写入html意义也不大,我现在直接window.reload就好了。
2016年08月22日 09点08分
level 14
啊。。。你alert里面应该写内容,而不是smarty 的变量,才看见是smarty
2016年08月22日 16点08分 7
level 1
你没有申请ajax把?用 getid别用那个$# 用post需要定义协议头,还要send数据 ,百度很多这方面教程。对了我还没发现,在html<>里面也能放if的吗?还有php里一个简单的接受post值你为啥要放进一个类里,而且你这个类并没有调用吧?还有为啥要用exit?不用echo?就算你一定要结束进程,用die岂不是更好。
2016年08月22日 19点08分 8
level 1
如果需要操作多数据,弄一个解析json函数,直接返回json,将返回数据传到函数就行了。
2016年08月22日 20点08分 11
level 1
如果非要对cookies判断,二次赋值不就行了?将写入的cookies赋值到变量,就可以实现直接判断,而不用刷新!
2016年08月22日 20点08分 12
1