TypeError:obj是未定义的,并指向带有$ .each的行

时间:2019-04-16 14:46:16

标签: javascript ajax object datatable typeerror

我正在尝试将一个项目添加到数据库并将其重新加载到我的Ajax datatable中。但是,每次填写表单后单击添加按钮,都会在浏览器控制台中显示TypeError: obj is undefined,并且该项目将不会添加到数据库,也不会添加到datatable。错误是指带有$.each(res.errors, function(key,value)的行。如何解决这个问题?还是有另一种方法。

另一种情况是我在不填写表单的情况下单击添加按钮,因此将添加一些样式类,以警告用户必须填写表单,并且代码可以正常工作。

我使用Firefox和Laravel。

仅当我填写表格并单击添加时,才会显示错误。

$('#modal-btn-save').click(function(e){
e.preventDefault()

var form = $('#modal-body form'),
    url = form.attr('action'),
    method = $('input[name=_method]').val() == undefined ? 'POST' : 'PUT'

$.ajax({
    url: url,
    method: method,
    data: form.serialize(),
    success: function(response){
        form.trigger('reset')
        $('#datatable').DataTable().ajax.reload();
    },
    error: function(xhr){
        var res = xhr.responseJSON;
        if ($.isEmptyObject(res) == false){
            $.each(res.errors, function(key,value){ 
                $('#' + key)
                    .closest('.form-group')
                    .addClass('has-error')
                    .append('<span class="help-block"><strong>' + value + '</strong></span>')
            })
        }
    }
})})

我希望该项目将像本教程一样添加到数据表中,并且在控制台中没有TypeError消息。 https://www.youtube.com/watch?v=B2CeceGOVy8我试图复制粘贴代码以查看是否错过了一个字符,但是不,我仍然遇到相同的错误。请帮忙。

0 个答案:

没有答案