Laravel和Ajax更新不允许

时间:2018-03-05 13:20:33

标签: php ajax laravel validation

我正在使用Ajax请求在Laravel中处理CRUD,它工作正常,直到我偶然发现模型更新错误。 单击编辑按钮时,模态窗口会加载员工的所有数据,当我编辑任何内容时,Ajax会抛出错误,说明即使填写了两个字段也是如此。

这是控制台中抛出的错误:

python -m flask

这是Ajax函数:

{
  "readyState": 4,
  "responseText": "{\"email\":[\"The email field is requested.\"],\"fullname\":[\"The fullname field is requested.\"]}",
  "responseJSON": {
    "email": [
      "The email field is requested."
    ],
    "fullname": [
      "The fullname field is requested."
    ]
  },
  "status": 422,
  "statusText": "Unprocessable Entity"
}

Laravel验证:

/* Edit employee */
$(document).on('click', '#btn-edit', function(e) {
    e.preventDefault();
    var id = $(this).attr('data-id');
    $.ajax({
        type: 'put',
        url: link + id,
        processData: false,
        contentType: false,
        // data: new FormData($("#form-employee")[0]),
        data: $("#form-employee").serializeArray(),
        success: function() {
            $('#btn-update').click();
            $('#employeeModal').modal('hide');
            swal(i18n.buttons.updated_msg, i18n.employees.updated_alert, "success");
        },
        error: function(data) {
            var errors = data.responseJSON;
            $('.form-group').removeClass('has-error');
            $('.alert ul').empty();
            $('.alert').show();
            $.each(errors, function(key, value) {
                $('.alert ul').append('<li>' + value + '</li>');
                $('#' + key).parent('.form-group').addClass('has-error');
            });
            console.log(data);
        }
    });
});

2 个答案:

答案 0 :(得分:2)

我认为我对这些类型的表单和PUT请求有疑问,我猜你也在上传表单中的文件?

我建议尝试使用POST来查看它是否有效(路线也需要更新)。

除此之外,查看ajax请求中发送的数据会很有帮助。

答案 1 :(得分:0)

您确定您的输入与后端定义的名称相同吗?