忘记密码的时候需要用到ajax提交,怕短信被盗刷,用的thinkphp自带的token做了个简单的验证(结合验证码)。
看到表单里的token其实是跟表单数据一起验证的,其实就相当于表单里的一个字段。
然后就想到,在ajax中token跟其他字段一起提交就行了。
function setCodeAjax(){
var mobile = $("[name='phone']").val();
var token = $("[name='__token__']").val();
$.ajax({
data:{'mobile':mobile,'__token__':token},
dataType:'json',
type:'post',
url:"XXX",
success:function (d) {
if(d.code == 0 ){
//成功处理
}else{
//失败处理
}
}
})
}
这样提交的格式就完全跟表单提交一样了
后台就可以按照tp手册上的验证来验证了。
例如:
$validate = Validate::make([
'mobile' => 'require|token'
]);
$data = $this->request->post();
$result = $validate->check($data);
if ($result != true) {
return _codeMsg('1001',$result);
}
//后续处理
不过用ajax做验证,需要注意,如果token已经提交进行过验证,那么这个token就会失效,需要在前端手动进行更改。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。