Ich habe Ajax Formular mit Passwort ändern Funktionalität. Die Funktionalität funktioniert gut. Ich zeige eine kleine Benachrichtigung auf der Seite, wenn das Ändern des Passworts mit span
Element erfolgreich ist. Ich möchte ein anderes Styling zeigen, wenn sich die Antwortnachricht ändert. Es zeigt das gleiche Styling für Erfolg und Misserfolg.Wie style HTML-Elemente nach Ajax Antwort
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);
}
});
Hier ist mein Controller-Code
if (\ Hash :: check ($ pass_data [ 'current_pass'], \ Auth :: Benutzer() -> Passwort)) {
$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']);
}
Was ich tun möchte ist, wenn die Antwortnachricht Falsches Passwort enthält. Ich möchte eine andere Klasse in Ajax Benachrichtigung hinzufügen und wenn die Antwortnachricht ist Passwort geändert. Ich sollte password-success
Klasse hinzufügen
Für Best Practice, sollten Sie eine Instanz eines [Antwort] zurückkehren (https://laravel.com/docs/5.3/responses) von Ihnen Lrvl Controller . Auf diese Weise können Sie den [HTTP Response code] (http://www.restapitutorial.com/httpstatuscodes.html) zusammen mit Ihrer Antwortnachricht festlegen und auf diese Weise [den Antwortcode zuordnen] (http: //api.jquery .com/jquery.ajax /) (gehe hier zum statusCode), um festzustellen, welchen Status du behandelst. – Lesotto