Django返回以触发jquery函数中的错误视图

时间:2018-10-20 00:55:03

标签: javascript jquery django

我在django中有以下视图:

def update_card(request):
    return HttpResponse(status=400, message="You cannot call this method").

在jquery中:

$.ajax({

    url: "{% url 'update_card' %}",
    type: 'POST',


    success: function(data){
        console.log('OK!')
    },

    error: function(err){
        var response_message = err.responseText;
        alert(err.responseText)
    }

 });

但是无论出于何种原因,这都会触发success方法,除非我执行类似raise Exception(200, "You cannot call this method")的操作。为什么?我是否不允许将HttpResponse对象返回给jquery?

2 个答案:

答案 0 :(得分:1)

您可以发送多种回复。另外,您无需发送状态代码。

  1. HttpResponseBadRequest('错误消息')//状态码400
  2. HttpResponseServerError(“错误消息”)//状态码500
  3. 引发SuspiciousOperation('错误消息')//异常
  4. raise Exception('错误消息')//状态码500

您的JavaScript代码将保持不变。谢谢

答案 1 :(得分:0)

您以相反的顺序进行操作。它必须是:

return HttpResponse("You cannot call this method", status=400)