Django-fr

Forum

#1 02-10-2009 01:02:27

yohann gabory
Membre
Inscription : 11-08-2010
Messages : 8

problème avec jquery et django

Bonjour a tous.

Je débute avec Django et ce que je fait n'est sans doute pas très clean (
mon code je veux dire). D'habitude, en chechant bien sur le net je m'en
sort, mais là, je doit dire que je tombe sur un os.

Voici mon code :

la partie de mon template :

<div id="photo>ici une jolie photo</div>
<a class="requete_ajax" href="">Requete Ajax</a>

                <script>
    $(document).ready(function(){
    $(".requete_ajax").click(function(event){
        event.preventDefault();
        $.get(
            '/get_ajax', 'id=1',
            function( result ) {
                 $("#photo").replaceWith(result);
            }
        );
    });
});
</script>

et la vue get_ajax :

def get_ajax(request):

    if request.method == "GET":
        if request.GET.has_key(u'id'):
            value = request.GET[u'id']
            projet = Projet.objects.get(pk=value)
            response = projet.nom

    json = simplejson.dumps(response)

    return HttpResponse(json,mimetype='application/javascript')

le probleme auquel je me heurte, c'est qu'au lieu de remplacer mon div par
le nom du projet, il me rajoute des guilemets !! Au lieu d'avoir
Mon_beau_projet, j'ai "Mon_beau_projet". Quelque soit la valeur de result
elle est toujours entourée de guillemets.

Si l'un d'entre vous a une piste, je suis preneur.

Merci

Hors ligne

#2 02-10-2009 07:26:46

Richard
Membre
Lieu : Paris
Inscription : 11-08-2010
Messages : 22
Site Web

Re : problème avec jquery et django

Tu as des guillement par ce que tu renvoies un objet JSON
"mon beau projet"

et tu le traites comme une chaine, les guillement qui contienne la chaine
apparraise donc
documente toi sur json, tu comprendra mieux. il s'agitr d'une methode de
serialization.

sinon tu peux faire comme ca
response = projet.nom
return HttpResponse(reponse,mimetype='text/html')

renvoyer des objets json est plutot une bonne pratique, c'est juste un tout
petit peu plus compliqué a manipulé côté navigateur

Amicalement

RM

Richard Moch
http://www.rootsaka.com
C'est pas faux...


2009/10/2 yohann gabory <boblefrag _AT_ gmail.com>

> Bonjour a tous.
>
> Je débute avec Django et ce que je fait n'est sans doute pas très clean (
> mon code je veux dire). D'habitude, en chechant bien sur le net je m'en
> sort, mais là, je doit dire que je tombe sur un os.
>
> Voici mon code :
>
> la partie de mon template :
>
> <div id="photo>ici une jolie photo</div>
> <a class="requete_ajax" href="">Requete Ajax</a>
>
>                 <script>
>     $(document).ready(function(){
>     $(".requete_ajax").click(function(event){
>         event.preventDefault();
>         $.get(
>             '/get_ajax', 'id=1',
>             function( result ) {
>                  $("#photo").replaceWith(result);
>             }
>         );
>     });
> });
> </script>
>
> et la vue get_ajax :
>
> def get_ajax(request):
>
>     if request.method == "GET":
>         if request.GET.has_key(u'id'):
>             value = request.GET[u'id']
>             projet = Projet.objects.get(pk=value)
>             response = projet.nom
>
>     json = simplejson.dumps(response)
>
>     return HttpResponse(json,mimetype='application/javascript')
>
> le probleme auquel je me heurte, c'est qu'au lieu de remplacer mon div par
> le nom du projet, il me rajoute des guilemets !! Au lieu d'avoir
> Mon_beau_projet, j'ai "Mon_beau_projet". Quelque soit la valeur de result
> elle est toujours entourée de guillemets.
>
> Si l'un d'entre vous a une piste, je suis preneur.
>
> Merci
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#3 02-10-2009 07:47:43

Pascal Peregrina
Membre
Inscription : 11-08-2010
Messages : 4

Re : problème avec jquery et django

Essaye $.get(   -> $.getJSON(

Pascal


De : yohann gabory <boblefrag _AT_ gmail.com>
Répondre à : Liste francophone pour le framework web Django
<django _AT_ lists.afpy.org>
Date : Fri, 2 Oct 2009 02:02:27 +0200
À : <django _AT_ lists.afpy.org>
Objet : [afpy/django] problème avec jquery et django

Bonjour a tous.

Je débute avec Django et ce que je fait n'est sans doute pas très clean (
mon code je veux dire). D'habitude, en chechant bien sur le net je m'en
sort, mais là, je doit dire que je tombe sur un os.

Voici mon code :

la partie de mon template :

<div id="photo>ici une jolie photo</div>
<a class="requete_ajax" href="">Requete Ajax</a>

                <script>
    $(document).ready(function(){
    $(".requete_ajax").click(function(event){
        event.preventDefault();
        $.get(
            '/get_ajax', 'id=1',
            function( result ) {
                 $("#photo").replaceWith(result);
            }
        );
    });
});
</script>

et la vue get_ajax :

def get_ajax(request):

    if request.method == "GET":
        if request.GET.has_key(u'id'):
            value = request.GET[u'id']
            projet = Projet.objects.get(pk=value)
            response = projet.nom

    json = simplejson.dumps(response)

    return HttpResponse(json,mimetype='application/javascript')

le probleme auquel je me heurte, c'est qu'au lieu de remplacer mon div par
le nom du projet, il me rajoute des guilemets !! Au lieu d'avoir
Mon_beau_projet, j'ai "Mon_beau_projet". Quelque soit la valeur de result
elle est toujours entourée de guillemets.

Si l'un d'entre vous a une piste, je suis preneur.

Merci

Hors ligne

#4 02-10-2009 10:29:21

yohann gabory
Membre
Inscription : 11-08-2010
Messages : 8

Re : problème avec jquery et django

Et bien je vais de ce pas me renseigner sur JSON et vous remercie de votre
sagacité et de votre rapidité smile

Le 2 octobre 2009 08:26, Richard <richard.moch _AT_ gmail.com> a écrit :

> Tu as des guillement par ce que tu renvoies un objet JSON
> "mon beau projet"
>
> et tu le traites comme une chaine, les guillement qui contienne la chaine
> apparraise donc
> documente toi sur json, tu comprendra mieux. il s'agit d'une methode de
> serialization.
>
> sinon tu peux faire comme ca
> response = projet.nom
> return HttpResponse(reponse,mimetype='text/html')
>
> renvoyer des objets json est plutot une bonne pratique, c'est juste un tout
> petit peu plus compliqué a manipulé côté navigateur
>
>  Amicalement
>
> RM
>
> Richard Moch
> http://www.rootsaka.com
> C'est pas faux...
>
>
>

Hors ligne

Pied de page des forums