IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Tout le script python écrit dans response


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Par défaut Tout le script python écrit dans response
    Bonjour,

    j'essaye de travailler avec AJAX, python et JQuery.

    J'ai réussi à envoyer les donnés du JQUERY à python mais le problème, c'est que quand j'écris le résultat de "response" dans AJAX, j'ai tout le script python qui s'écrit et non le résultat.

    C'est juste pour un test pour ensuite bosser sur quelques choses de plus sérieux. Donc voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    function ajax_test(){
         $('#jQuery_send').text("jQuery sent: " + $('#test_text').val() );
         $.ajax(
         {
            type: "POST",
            url: "./cgi-bin/test.py",
            datatype:"json",
            data: {'key':'value', 'key2':'value2'},
            success: function(response)
            {
               $('#python_response').html("Python returned: " + response);
            }
         });
    }
     
     
    window.onload = function(){
        document.getElementById('test_button').onclick= function(){
    ajax_test()}
    }
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div class="main">
    <center>
    <form id="test_box"><input id="test_text" type="text"/>
    <input id="test_button" type="button" value="submit"/></form>
    <br/>
    <div id="jQuery_send"></div>
    <div id="python_response"></div>
    </center>
    </div>

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #!/usr/bin/python                                                                                                                                                                                            
     
    import cgitb
    import json
    import sys
     
    cgitb.enable()  # for troubleshooting                                                                                                                                                                        
     
    #the cgi library gets vars from html                                                                                                                                                                         
    form = cgi.FieldStorage()
    #jquery_input = form.getvalue("stuff_for_python", "nothing sent")                                                                                                                                            
     
    print "Content-Type: application/json"
     
    print "\n"
    print "\n"
     
    result = {}
     
    result['success'] = True
    result['message'] = "The command Completed Successfully"
    result['keys'] = ",".join(fs.keys())
     
    d = {}
    for k in fs.keys():
        d[k] = fs.getvalue(k)
     
    result['data'] = d
     
    print json.dumps(result,indent=1)


    J'aimerai afficher dans la div "python_response" la valeur d'une clé par exemple.

    J'espère avoir de l'aide

    Merci

    Alaninho

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour

    success: function( response ){ ... }.

    La variable response est un objet JS, pas du HTML.

    Pour voir le contenu : console.log( response.message, response.keys, response.data );.

    Pour inclure dans du HTML : $( selector ).html( '<p>' + response.message + '</p>' );.


    Pour la construction d'un objet JSON en Python, l'usage de "print" est-il correct ?

    J'ai vu cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    #!/usr/bin/env python
     
    import sys
    import json
    import cgi
     
    fs = cgi.FieldStorage()
     
    sys.stdout.write("Content-Type: application/json")
     
    sys.stdout.write("\n")
    sys.stdout.write("\n")
     
     
    result = {}
    result['success'] = True
    result['message'] = "The command Completed Successfully"
    result['keys'] = ",".join(fs.keys())
     
    d = {}
    for k in fs.keys():
        d[k] = fs.getvalue(k)
     
    result['data'] = d
     
    sys.stdout.write(json.dumps(result,indent=1))
    sys.stdout.write("\n")
     
    sys.stdout.close()

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Par défaut
    Ca marche très bien avec ton example.

    Je pense que je ne comprenais pas encore assez bien le fonctionnement de AJAX et de JSON.

    C'est ok pour moi maintenant.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Intégrer un script python dans une page Web
    Par Mysti¢ dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 02/11/2006, 10h20
  2. import dans les script python (objet zope)
    Par cronos6 dans le forum Zope
    Réponses: 5
    Dernier message: 10/09/2006, 14h47
  3. Radio boutton dans un script python
    Par Abla23 dans le forum Zope
    Réponses: 17
    Dernier message: 12/07/2006, 17h12
  4. Interpreter un script python dans un prog python
    Par romeo9423 dans le forum Général Python
    Réponses: 3
    Dernier message: 01/12/2005, 16h16
  5. Réponses: 3
    Dernier message: 05/04/2005, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo