使用laravel和ajax时,如何阻止重复的内容出现在我的视图中?



这是我的视图(Ajax)

$('#basicInfoForm').submit(function(e){
e.preventDefault();
let formData = new FormData(this);
$.ajax({
type: "POST",
url: "{{route('profile.basic_info')}}",
dataType: 'json',
data: formData,
contentType: false,
processData: false,
beforeSend:function(){
$("#fountainG").fadeIn(1000);
},
success: function(response){
$.each(response.errors, function (key, value) { 
$("#fountainG").fadeOut(1000);
$('.alert-danger').fadeIn(2000);
$('.alert-danger').append('<span>'+value+'</span>'+'<br>');
setTimeout(function() {
$('.alert-danger').fadeOut(4000, 'swing');
}, 3000);

});
},
error: function(data){
iziToast.error({
title: 'Upload Error',
message: data.avatar,
position: 'topRight'
});
}
});
});

这里是控制器

public function updateBasicInformation(Request $request)
{
$basic_info = Validator::make($request->all(), [
'fullname' => 'required|min:2|max:255',
'phone_number' => 'required|numeric|min:10',
'email' => 'required|unique:users',
'country' => 'required',
'address' => 'required',
], [
'phone_number.min' => "The phone number must be at least 10 digits",
]);
if($basic_info->fails())
{
return response()->json([
'errors'=> $basic_info->errors()->all()
]);
}
}

基本上,这里有一个ID为

的表单
basicInfoForm

和类为-alert-danger的div显示错误。但是,当我多次提交表单时,它继续重复错误,即使是那些已经正确验证的错误。

误差

请问我怎么绕过这个?

我试着将dataType改为json,但没有任何区别。

我是Ajax和Laravel的新手

每次提交时清除UI中的所有错误:

$('#basicInfoForm').submit(function(e){
e.preventDefault();
$('.alert-danger').remove();
// ...
});

在每次提交调用时都附加错误,而不清除先前的错误。你可以这样做来解决这个问题

从DOM中删除先前的错误div,并在AJAX成功时添加新的错误div。

success: function(response){
$('.alert-danger').remove();
$.each(response.errors, function (key, value) { 
//
}

相关内容

  • 没有找到相关文章

最新更新