嘗試將伺服器端 Ajax 回應腳本轉換為 Django HttpResponse 時,必須考慮語法差異和方法。以下是潛在問題的細分和 Django 程式碼的更正版本:
使用字典代替 JSON 清單:
原始 Python 腳本傳回一個陣列使用 $arrayToJs。然而,在 Python 中,創建 JSON 內容時使用字典會更為慣用。
# CORRECTED CODE response_data = {'id': validateId, 'error': validateError}
返回JSON 回應:
在Django 中,有兩種方法根據您的Django 版本返回JSON 回應:
return HttpResponse(json.dumps(response_data), content_type="application/json")
import json from django.http import JsonResponse return JsonResponse(response_data)
對於Django之前的版本1.7:
if validate_value == "TestUser": response_data['status'] = True return JsonResponse(response_data) else: response_data['status'] = False return JsonResponse(response_data)對於 Django 1.7以上版本:條件處理:在原始程式碼中,處理與回傳語句位於條件區塊之外,導致傳回回應的持續延遲。更正後的程式碼確保驗證後立即回傳回應:
以上是如何在 Django 中有效傳回 JSON 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!