In my project I have one page to handle login form, register form and password reset form.
For the first two, everything work well. For the last, I find a way to send my own email instead of laravel's default email but now I want to stop redirect on success.
For the story, I launch a sweetalert notification when I click on submit, call reset controller with Ajax and wait for response.
But instead, page is reload on success. I don't find a way to prevent redirect and just send json to my Ajax.
My login.js :
$(".m_login_forget_password_submit").click(function(l){
var t=$(this),r=$(this).closest("form");
t.addClass("m-loader m-loader--right m-loader--light");
swal({
title:"Mot de passe",
text:"Génération du lien.",
type:"info"
});
var $this = $(this);
$.ajax({
type: 'POST',
url: 'password/request',
data: $this.serializeArray(),
success:function(data){
$("#m_login_signup_submit").toggleClass("m-loader m-loader--right m-loader--light");
swal({
title:"Succès",
text:"Votre demande de compte a été transmise à nos équipe.",
type:"success"
});
},
error: function(data){
$("#m_login_signup_submit").toggleClass("m-loader m-loader--right m-loader--light");
if( data.status === 422 ) {
var error = "Les erreurs suivantes ont été trouvées :";
var errors = data.responseJSON;
$.each( errors, function( key, value ) {
error += '<br>▸ ' + value[0];
});
swal("Erreur",error,"error")
}
}
});
My custom ResetPasswordController :
class ResetPasswordController extends Controller
{
use ResetsPasswords;
/**
* Where to redirect users after resetting their password.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Get the response for a successful password reset.
*
* @param string $response
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
*/
protected function sendResetResponse($response)
{
return 'ok';
}
}
Someone know how to prevent redirect on send email reset password success and send json instead ?
Thank for your help.