尝试将服务器端 Ajax 响应脚本转换为 Django HttpResponse 时,必须考虑语法差异和方法。以下是潜在问题的细分和 Django 代码的更正版本:
使用字典代替 JSON 列表:
原始 Python 脚本返回一个数组使用 $arrayToJs。然而,在 Python 中,创建 JSON 内容时使用字典更为惯用。
# CORRECTED CODE response_data = {'id': validateId, 'error': validateError}
返回 JSON 响应:
在 Django 中,有两种方法根据您的 Django 版本返回 JSON 响应:
对于 Django 之前的版本1.7:
return HttpResponse(json.dumps(response_data), content_type="application/json")
对于 Django 1.7 及以上版本:
import json from django.http import JsonResponse return JsonResponse(response_data)
条件处理:
在原始代码中,处理和返回语句位于条件块之外,导致返回响应的持续延迟。更正后的代码确保验证后立即返回响应:
if validate_value == "TestUser": response_data['status'] = True return JsonResponse(response_data) else: response_data['status'] = False return JsonResponse(response_data)
以上是如何在 Django 中有效返回 JSON 响应?的详细内容。更多信息请关注PHP中文网其他相关文章!