【发布时间】:2017-06-10 07:23:41
【问题描述】:
我有带有更改密码功能的 ajax 表单。该功能工作正常。当使用span 元素更改密码成功时,我会在页面中显示一个小通知。我想在响应消息更改时显示不同的样式。它为成功和失败响应显示相同的样式。
var dataString = 'old_pass=' +old_pass+ '&new_pass=' +new_pass+ '&re_pass=' +re_pass;
$.ajax({
type : "post",
url : 'change_password',
data : dataString,
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
cache : false,
success : function(data){
$('#password_notify').addClass('password-success').text(data.msg).fadeOut(2000);
$('#change_pass_form').find('input:password').val('');
},
error : function(data){
alert(data.msg);
}
});
这是我的控制器代码
if (\Hash::check($pass_data['current_pass'],\Auth::user()->password )) {
$user = new User();
if($user->where('id',\Auth::user()->id)->update(['password'=>$pass_data['new_pass']])){
return response()->json(['msg'=>'Password Changed']);
}
}
else{
return response()->json(['msg'=>'Wrong Password']);
}
我想要做的是响应消息包含密码错误。我想在 ajax 通知中添加一个不同的类,如果响应消息是 Password Changed。我应该给它添加password-success 类
【问题讨论】:
-
为了获得最佳实践,您应该从 Lrvl 控制器返回一个 Response 的实例。这样您就可以将HTTP Response code 与您的响应消息一起设置,这样您就可以通过map the response code(在此处转到statusCode)来确定您正在处理的状态。
标签: jquery html css ajax laravel