j'ai écrit une vue simple Django:Django Voir le retour JSON a échoué avec CSRF
from django.http import HttpResponse
from django.utils import simplejson
from django.views.decorators.csrf import csrf_exempt # just add
@csrf_exempt
def handleRequest(request, intervention_code):
result = {}
norm_str = ''
........
return HttpResponse(simplejson.dumps(result), mimetype='application/json')
La vue utilise pas de modèle, juste interroge la base et renvoie les données au format JSON. je peux récupérer l'objet JSON facilement faire http://myserver/myurl
Malheureusement, je dois utiliser une bibliothèque javascript pour faire une demande AJAX POST pour obtenir le même objet JSON et je courir dans l'échec typique Django CSRF.
Quand je le fais: curl -d "sometext=foobar" http://myserver/myurl/
J'ai obtenu le même résultat. J'ai implémenté tous les middlewares CSRF recommandés depuis Django doc, et j'obtiens toujours l'erreur.
Cela ne suffit pas ... Montrez-nous comment vous envoyez la demande au serveur –
Envoyez-vous le jeton CSRF au serveur lorsque vous faites votre post ajax? –
S'il vous plaît élaborer plus. L'appel AJAX est fait à partir de la fonction javascript appelée à partir du fichier html normal –