Bonjour,
Lorsque je fais des requetes ajax j encode cote vue (python) en json. En
esperant que cela t aide
Le 20 avr. 2012 11:40, "sushi" <[email protected]> a écrit :
> Bonjour,
>
> J'ai enfin réussi à exécuter mon script ajax dans mon projet.
>
> Le problème est que le serveur répond bien à ma requête mais me
> renvoie une erreur 500.
>
> J'ai vérifié qu'il n'y avait aucune erreur en accédant directement à
> l'url de ma vue réceptionnant le code AJAX et aucune erreur est affiché
> la vue agit correctement!
>
> Je n'en suis pas sûr mais je pense qu'il y a un problème avec mon jeton
> CSRF, le problème est que je n'ai pas accès au contenu HTML renvoyé (je
> suppose) par django avec l'erreur 500!
>
> Voici donc mon code javascript:
>
> function verif(Read_Data)
> {
> var xhr=new XMLHttpRequest();
> var nom=document.getElementById('input_nom');
>
> xhr.onreadystatechange = function()
> {
> if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status
> == 0) )
> {
> Read_Data(xhr.responseText);
> }
> };
>
> xhr.open("POST","../validation",true);
> xhr.setRequestHeader("X-CSRFToken", "#csrfmiddlewaretoken");
> valeur=encodeURIComponent(nom.value);
> xhr.send("name_user="+valeur);
> }
>
> function readData(readData)
> {
> var toto;
> alert(readData);
> }
>
> Je tiens a précisé encore une fois, j'ai bien tester mon code javascript
> et il fonctionne (il n'y a rien dans readData mais le serveur à bien
> répondu et le alert s'affiche (avec rien dedans bien entendu).
> Mon fichier javascript est static, j'ai configuré mes setting et mes url
> correctement et j'ai bien accès à mon JS (vérification via fireDebug).
>
> Voici le code de ma vue:
>
> def validation(request):
> if request.is_ajax() and request.method == 'POST':
> name_user=request.POST['name_user']
> if User.objects.filter(username=name_user):
> return HttpResponse("memepseudo")
> else:
> return HttpResponse("OK")
> else:
> return HttpResponse("erreur")
>
> J'ai testé si ma vue s'éxécuter correctement en accèdant directement
> à l'url via mon navigateur sans passé par de l'ajax et ça m'affiche
> erreur (ce qui est tout à fait normal!).
>
> J'ai essayé d'écouter le port 8000 via netcat pour récupérer le code
> html renvoyé par django mais ça ne fonctionne pas!
>
> En espérant que vous puissiez m'aider,
>
> cordialement,
>
> sushi
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
>
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django