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