You dont need to change any methods since laravel is returning the stuff with json. This is my personal ajax login.
$('#login-form button[type=submit]').click(function(e){
var $btn = $(this).button('loading');
e.preventDefault();
if($('#login-form #login--email').hasClass('has-error')){
$('#login-form #login--email').removeClass('has-error');
}
if($('#login-form #login--password').hasClass('has-error')){
$('#login-form #login--password').removeClass('has-error');
}
var form = jQuery(this).parents("form:first");
var dataString = form.serialize();
var formAction = form.attr('action');
$.ajax({
type: "POST",
url : formAction,
data : dataString,
success : function(data){
console.log(data);
setTimeout(
function()
{
$btn.button('success');
$('#login-form button[type=submit]').css('background', '#449d44');
setTimeout(
function()
{
window.location.href = "/dashboard";
}, 2000);
}, 2000);
},
error : function(data){
var errors = $.parseJSON(data.responseText);
console.log(errors);
setTimeout(
function()
{
errorsHtml = '<div class="alert alert-danger text-center"><h4 class="margin-top-20" style="font-size: 18px;"><i class="fa fa-exclamation"></i> Bitte prüfen Sie Ihre Eingaben</h4><p style="color:#35393b">Bitte korrigieren Sie Ihre Angaben</p><ul class="list-unstyled">';
$.each( errors , function( key, value ) {
errorsHtml += '<li style="color:#35393b;">' + value[0] + '</li>'; //showing only the first error.
});
errorsHtml += '</ul></di>';
$( '#form-errors' ).html( errorsHtml ); //appending to a <div id="form-errors"></div> inside form
if(errors.email){
$('#login-form #login--email').addClass('has-error');
$('#login--email i').css('color', '#a94442');
}
if(errors.email){
$('#login-form #login--password').addClass('has-error');
$('#login--password i').css('color', '#a94442');
}
$btn.button('reset');
}, 1500);
}
},"json");
});