gpt4 book ai didi

javascript - Django Ajax 返回错误消息

转载 作者:行者123 更新时间:2023-12-01 00:36:10 25 4
gpt4 key购买 nike

我如何使用 django 返回错误消息?我在想这样的事情(我使用 jsonresponse 只是作为我想要如何执行此操作的示例):

def test(request):
if request.method == "POST":
if form.is_valid():
form.save
return JsonResponse({"message":"Successfully published"})
else:
'''here i would like to return error something like:'''
return JsonResponse({"success": false, "error": "there was an error"})
else:
return JsonResponse({"success}: false, "error": "Request method is not post"})

我想要实现的是从ajax错误函数在模板中呈现错误消息。像这样的事情:

$("#form").on("submit", function(){
$.ajax({url: "url",
data: ("#form").serialize,
success: function(data){
alert(data.message);
},
error: function(data){
alert(data.error);
}
});

这可能吗?

最佳答案

您当然可以从 Django 应用程序返回错误消息。但您必须定义要返回的错误类型。为此,您必须使用错误代码。

最常见的是 404(未找到页面)或 500(服务器错误)。您还可以使用 403 来表示禁止访问...这取决于您要处理的情况。你可以看到wikipedia page了解各种可能性。

不要发送 'success':False 使用以下内容:

response = JsonResponse({"error": "there was an error"})
response.status_code = 403 # To announce that the user isn't allowed to publish
return response

使用此 jQuery 会将答案识别为错误,并且您将能够管理错误类型。

管理 JavaScript 中的错误:

$("#form").on("submit", function(){
$.ajax({
url: "url",
data: ("#form").serialize,
success: function(data){
alert(data.message);
},
error: function(data){
alert(data.status); // the status code
alert(data.responseJSON.error); // the message
}
});

关于javascript - Django Ajax 返回错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43807625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com