Не удается показать сообщение об ошибке в функции error в ajax - django
я пытаюсь показать сообщение об ошибке с сервера на сайт клиента используя ajax, но это не работает, когда я делаю функцию для сообщений об ошибках,
#other codes for saving the post,there is not error
success_meesage = f'success'
return JsonResponse({'success':'success','success_msg':success_meesage})
else:
error_message=f'there is an error into your two dates please make sure check in smaller than check out'
return JsonResponse({'success':False,'error_taken':True,'error_message':error_message})
мой код ajax
const form = document.getElementById('post-form')
form.addEventListener("submit",submitHanler);
function submitHanler(e){
e.preventDefault();
$.ajax({
type:'POST',
url:"my-url",
data:$("#post-form").serialize(),
dataType:'json',
success:successFunction,
error:errorFunction,
})
}
function successFunction(data){
// console.log(data)
if(data.success='success' && data.success_msg){
form.reset();
alertify.success(data.success_msg)
}
}
function errorFunction(request, status, error){
console.log(request.responseText)
if(error.error_taken == true){
alertify.alert('warning !','message')
alertify.alert(error.error_message,function(){
});
}
}
}
function errorFunction(jqXHR, exception)
it shows nothing as well , i tried many ways but none of them worked !
thank you in advance ..
Вы возвращаете JsonResponse
, но с кодом состояния 200, что означает, что, согласно коду состояния, запрос был успешным.
Таким образом, мы можем вернуть JsonResponse
с кодом состояния вне диапазона 200-399, например, ответ HTTP 400:
if some_condition:
success_meesage = f'success'
return JsonResponse(
{'success':'success','success_msg':success_meesage}
)
else:
error_message=f'there is an error into your two dates please make sure check in smaller than check out'
return JsonResponse(
{'success':False,'error_taken':True,'error_message':error_message},
status=400
)