我正在使用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);
}
});
});
答案 0 :(得分:2)
我认为我对这些类型的表单和PUT请求有疑问,我猜你也在上传表单中的文件?
我建议尝试使用POST来查看它是否有效(路线也需要更新)。
除此之外,查看ajax请求中发送的数据会很有帮助。
答案 1 :(得分:0)
您确定您的输入与后端定义的名称相同吗?