[英]Ajax request is not function error in jQuery
我正在尝试使用验证器返回的 ajax 请求显示我的验证错误,但控制台不断返回此错误。 是因为我的 jQuery 版本(3.4.1)吗?
JS控制台output
TypeError: $.ajax(...).done(...).error is not a function
Ajax代码
$(document).ready(function() {
// Validation for all field
$(".guest-query-submit").click(function (e) {
e.preventDefault(); //Prevent default action
//Define inputs
let _token = $("input[name='_token']").val();
let title = $("input[name='title']").val();
let description = $("input[name='description']").val();
let category = $("input[name='category']").val();
let attachment = $("input[name='attachment']").val();
let county = $("input[name='county']").val();
let startDate = $("input[name='startDate']").val();
let endDate = $("input[name='endDate']").val();
let flexibility = $("input[name='flexibility']").val();
let contactName = $("input[name='contactName']").val();
let contactEmail = $("input[name='contactEmail']").val();
let contactNumber = $("input[name='contactNumber']").val();
//Starting ajax request
$.ajax({
url: "{{route('send-guest-query')}}",
type: 'POST',
data: {
_token:_token,
title:title,
description:description,
category:category,
attachment:attachment,
county:county,
startDate:startDate,
endDate:endDate,
flexibility:flexibility,
contactName:contactName,
contactEmail:contactEmail,
contactNumber:contactNumber },
dataType: "json"
}).done (function (data) {
if(data.status === 200) {
Swal.fire({ //SweetAlert
title: 'Success',
text: 'Your query was sent successfully!',
type: 'success',
confirmButtonText: 'Continue'
})
}}).error(function (data) {
if (data.status === 422 && data.responseJSON) {
console.log(data);
if (Object.keys(data.responseJSON.errors).length) {
for (field in data.responseJSON.errors) {
let error = data.responseJSON.errors[field];
let input = '#Modal input[name=' + field + ']';
$(input).addClass('is-invalid');
$(input).next('span').find('strong').text(error[0]);
}
}
}
})
});
Laravel 中的验证部分
$validator = Validator::make($request->all(),
[
'title' => 'required|string',
// 'description' => 'required|string',
// 'category' => 'required',
// 'county' => 'required',
'startDate' => 'required',
'endDate' => 'required',
// 'flexibility' => 'required',
'contactName' => 'required',
'contactEmail' => 'required',
'contactNumber' => 'required|integer',
]);
if ($validator->passes()) {
return response()->json(['success'=>'Query successfully sent!'],200);
}
return response()->json(['error'=>$validator->errors()->all()],422);
也在这个话题上。 今天的标准甚至建议在使用模态时解决这样的验证。 我知道使用 Vue 可能会让我的生活更轻松,但在我对 JavaScript 有基本了解之前,我不想接触 Vue。
好吧,我不知道这是否会有所帮助,但通常这是我使用 ajax 请求的方式,我发现它更容易我希望这会有所帮助
$.ajax({ contentType: *the type your sending ex:'application/json'*, url: *Your url*, type: *POST or GET*, data: *Your Data ex: JSON.stringify(model) since i am sending json*, success: function (data) { }, error: function (err) { console.error(err); } }); },
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.