Lorsque vous tentez de convertir un script de réponse Ajax côté serveur en Django HttpResponse, il est essentiel de prendre en compte les différences de syntaxe et approche. Voici une ventilation des problèmes potentiels et une version corrigée du code Django :
Utiliser un dictionnaire au lieu d'une liste pour JSON :
Le script Python d'origine a renvoyé un tableau en utilisant $arrayToJs. Cependant, en Python, il est plus idiomatique d'utiliser un dictionnaire lors de la création de contenu JSON.
# CORRECTED CODE response_data = {'id': validateId, 'error': validateError}
Renvoyer la réponse JSON :
Dans Django, il existe deux manières pour renvoyer une réponse JSON en fonction de votre version de Django :
Pour les versions de Django antérieures à 1.7 :
return HttpResponse(json.dumps(response_data), content_type="application/json")
Pour Django 1.7 et supérieur :
import json from django.http import JsonResponse return JsonResponse(response_data)
Traitement conditionnel :
Dans le code d'origine, les instructions de traitement et de retour étaient situées en dehors du bloc conditionnel, ce qui entraînait un retard constant dans le retour de la réponse. Le code corrigé garantit que la réponse est renvoyée immédiatement après validation :
if validate_value == "TestUser": response_data['status'] = True return JsonResponse(response_data) else: response_data['status'] = False return JsonResponse(response_data)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!