Apabila cuba menukar skrip respons Ajax sebelah pelayan kepada Django HttpResponse, adalah penting untuk mempertimbangkan perbezaan dalam sintaks dan pendekatan. Berikut ialah pecahan isu yang berpotensi dan versi kod Django yang diperbetulkan:
Menggunakan Kamus Daripada Senarai untuk JSON:
Skrip Python asal mengembalikan tatasusunan menggunakan $arrayToJs. Walau bagaimanapun, dalam Python, adalah lebih idiomatik untuk menggunakan kamus semasa mencipta kandungan JSON.
# CORRECTED CODE response_data = {'id': validateId, 'error': validateError}
Mengembalikan Respons JSON:
Dalam Django, terdapat dua cara untuk mengembalikan respons JSON bergantung pada versi Django anda:
Untuk versi Django sebelum 1.7:
return HttpResponse(json.dumps(response_data), content_type="application/json")
Untuk Django 1.7 dan ke atas:
import json from django.http import JsonResponse return JsonResponse(response_data)
Pemprosesan Bersyarat:
Dalam kod asal, penyata pemprosesan dan pemulangan terletak di luar blok bersyarat, yang membawa kepada kelewatan berterusan dalam mengembalikan tindak balas. Kod yang diperbetulkan memastikan bahawa respons dikembalikan serta-merta selepas pengesahan:
if validate_value == "TestUser": response_data['status'] = True return JsonResponse(response_data) else: response_data['status'] = False return JsonResponse(response_data)
Atas ialah kandungan terperinci Bagaimanakah Saya Mengembalikan Respons JSON dengan Berkesan dalam Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!