Не удается показать сообщение об ошибке в функции 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(){

            });
        }
           

        }

    }
i also tried this : 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
    )
Вернуться на верх