JQuery Ajax / laravel表单提交不起作用

时间:2017-10-19 13:53:31

标签: php jquery ajax laravel

我一直在用Ajax和laravel尝试一些东西,我在这一点上已经尝试了很多,并且不知道出了什么问题。我似乎无法获得表单数据(这主要是关于它的内容)。如果任何人能够提供帮助,那就太棒了。这是代码,并提前感谢。

$('.bier').on('click', bier);
$('.delete-check-close').on('click', closeDelete);
$('.delete-check-show').on('click', showDelete);
$('.message').on('click', closeMessage);
hideMessage();

$('form.page').on('submit', bier);

function bier() {
    var form = $(this);
    var url = form.attr('action');
    console.log(url);
    console.log(form);

    console.log('bier');
    console.log(form.find('input').serialize());
    console.log('/bier');
    var wtf = new FormData(form);

    $.ajax({
        url: url,
        type: 'POST',
        dataType: 'json',
        contentType: 'json',
        data: form.serialize(),
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        success: function(data, textStatus, jqXHR) {
            console.log('success');
            console.log(data);

        },
        error: function (jqXHR, textStatus, errorThrown) {

            var data = $.parseJSON(jqXHR.responseText);

            console.log(data);

            if (data.errors) {
                console.log(data.errors);

                $.each( data.errors, function( key, value ) {
                    console.log(key);
                    console.log(value);

                    if(key.length > 0) {
                        var $error = $('td.' + key);
                        $error.removeClass('hidden');
                        $error.addClass('visible');
                        $error.html(value);
                    }
                });
            } else {
                console.log('======================================== error');

                console.dir(jqXHR);
                console.dir(textStatus);
                console.dir(errorThrown);
            }
        }
    });

   return false;
}
});

1 个答案:

答案 0 :(得分:0)

请尝试以下代码:

  $('form.page').on('submit', function() { 
    var form = $(this);
    var url = form.attr('action');
    console.log(url);
    console.log(form); 
    console.log('bier');
    console.log(form.find('input').serialize());
    console.log('/bier');
    var wtf = new FormData(form); 
    $.ajax({
        url: url,
        type: 'POST',
        dataType: 'json',
        contentType: 'json',
        data: form.serialize(),
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        success: function(data, textStatus, jqXHR) {
            console.log('success');
            console.log(data);

        },
        error: function (jqXHR, textStatus, errorThrown) {

            var data = $.parseJSON(jqXHR.responseText);

            console.log(data);

            if (data.errors) {
                console.log(data.errors);

                $.each( data.errors, function( key, value ) {
                    console.log(key);
                    console.log(value);

                    if(key.length > 0) {
                        var $error = $('td.' + key);
                        $error.removeClass('hidden');
                        $error.addClass('visible');
                        $error.html(value);
                    }
                });
            } else {
                console.log('======================================== error');
                console.dir(jqXHR);
                console.dir(textStatus);
                console.dir(errorThrown);
            }
        }
    }); 
   return false; 
});