ThinkPHP5表单令牌刷新
制作登录页面的时候,加入了表单令牌,账号和密码输入错误后,再登录的话,会提示表单令牌错误,
这是因为旧的令牌已经过期了,我们要处理下前端的token,修复的办法,在路由文件下加入
//刷新表单令牌,然后前端提交表单后,js调用,这里的我用的是__token__
Route::get('refresh/token',function(){
return json(['token'=>request()->token('__token__', 'sha1')]);
});
在.html文件加入隐藏域
<input type="hidden" name="__token__" value="{$Request.token}" />
然后前端表单提交后,js调用后端方法去修改token
//页面局部token刷新
function refresh()
{
$.get("{:url('@refresh/token')}", function(res){
$("[name='__token__']").val(res.token);
});
}