提问人:Vincent Chibueze 提问时间:11/22/2022 更新时间:11/22/2022 访问量:35
使用 laravel 和 ajax 时,如何阻止重复内容出现在我的视图中?
How do I stop duplicate content from appearing in my view when using laravel and 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
并且带有该类的 div 显示错误。但是,当我多次提交表单时,它不断重复错误,即使是那些已经正确验证的错误。-alert-danger
请问我该如何解决这个问题?
我尝试更改为 但没有任何区别。dataType
json
我是 Ajax 和 Laravel 的新手
答:
0赞
Ali Raza
11/22/2022
#1
每次提交时,清除 UI 中的所有错误:
$('#basicInfoForm').submit(function(e){
e.preventDefault();
$('.alert-danger').remove();
// ...
});
0赞
ahmed ramzan
11/22/2022
#2
在每次提交调用中,您都在追加错误,而不是清除以前的错误。 您可以这样做来解决这个问题。
从 DOM 中删除以前的错误 div,并在 AJAX 成功时附加新的错误 div。
success: function(response){
$('.alert-danger').remove();
$.each(response.errors, function (key, value) {
//
}
评论