gpt4 book ai didi

json - 使用并进一步解析 form.errors.as_json 以在 Django 中返回 http 响应

转载 作者:行者123 更新时间:2023-12-01 05:10:54 30 4
gpt4 key购买 nike

我对 JSON 和 Django 表单都比较陌生。我想知道应该如何使用 Djagno 的 user_form.errors.as_json() 将错误消息传输到 client-slde。现在,我有以下代码:

在服务器端。我有:

if form.is_valid():
# some code
else:
return JsonResponse(user_form.errors.as_json(), status = 400, safe = False)

客户:

$.post('/url/', data, function(response){
// Success
}).fail(function(response){
var errors = $.parseJSON($.parseJSON(response.responseText)); // looks stupid

尴尬的行 $.parseJSON($.parseJSON(response.responseText)); 证明我做错了什么。任何人都可以提供用于发送和解析 jsonified 表单错误的最佳实践代码模式吗?

最佳答案

问题是你正在转换为 JSON 两次 - 一次是在调用 as_json 时,另一次是在使用 JsonResponse 时。

您可以将 HttpResponseform.errors.as_json() 一起使用:

return HttpResponse(user_form.errors.as_json(), status = 400, content_type='application/json')

注意 as_json 中的警告有关转义结果以避免跨站点脚本攻击的文档。如果您还使用 JsonResponse,则应确保对结果进行转义。

关于json - 使用并进一步解析 form.errors.as_json 以在 Django 中返回 http 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41911271/

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