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

Réseau/Web Python Discussion :

requete ajax serveur python [Python 3.X]


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Par défaut requete ajax serveur python
    Bonjour bonjour,
    J'aimerai pouvoir échanger entre mon javascript et mon python. Par exemple le javascript envois l'entier 2 et 3 et le python lui renvois 5 (je sais que c'est faisable en js directement^^ mais c'est aps ce que je veux)
    Avec ce que j'ai trouvé (je me trompe peut être) il faut utiliser des requetes ajax (avec le format json pour compliquer le truc^^)

    Voici mon fichier côté client (je pense qu'il est juste), dans mon exemple le client appuye sur un bouton et le texte du span change grace au texte envoyé par le serveur python:
    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
    30
    31
    32
    33
     
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Test CLEM clem</title>
            <script type="text/javascript">
              $("#UID_boutonTest").click(function()
              {
                $.ajax(
                {
                  type : 'GET' // Le type de la requête HTTP.
                  url : '/home/myUserName/Bureau/MonServeurPython/serveur.py', // La ressource ciblée
                  dataType:'json',
                  data    : JSON.stringify( { "messageClient" : "RecoisTuPetitServeur" } ),
                  success : function(data)
                  {
                    if (data !=null)
                    {
                      messageServeur=data.messageServeur;
                      $('#UID_afficheTest').val(messageServeur);
                      document.getElementById('UID_afficheTest').innerHTML = messageServeur;
                    }
                  }/*success : function() {}*/
                });/*$.ajax*/
              });
            </script>
        </head>
        <body>
            <button id="UID_boutonTest" style='left:50px;height:50px;width:200px;'>clickServeur</button>
            <span id="UID_afficheTest"style='text-align: center;'>MESSAGEDUSERVEUR</span>
        </body>
    </html>
    Et côté serveur je bloque je ne sais pas quoi mettre dans mes methodes pour qu'elles retournent soit la page index.html (sinon comment je click sur mon bouton^^) et une pour renvoyer quelque chose.
    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
     
    import http.server
    from http.server import HTTPServer
    from http.server import SimpleHTTPRequestHandler
     
     
    class RequestHandler(SimpleHTTPRequestHandler):
      def do_GET(self):
        print("stp envois ma page html serveur")
     
      def reponse_serveur(self):
        print("j'aimerai recevoir et repondre a ma requete ajax ici")
     
    serveraddr = ('', 8765)
    srvr = HTTPServer(serveraddr, RequestHandler)
    srvr.serve_forever()
    Je suis complètement dans le flou merci du fond du coeur

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Par défaut
    aille il me semblait que c'était compliqué ... ^^

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par mopi42 Voir le message
    aille il me semblait que c'était compliqué ... ^^
    Le plus compliqué est de savoir quoi vous répondre sans vous choquer.

    Le caractère AJAX d'une requête n’intéresse que le client. Elle permet au navigateur Web la mise à jour du document HTML qui est affiché et rendre l'interface présentée plus réactive.
    La seul chose qu'en verra, de son côté, le serveur Web sera la requête HTTP.
    Mais vous réalisez sans doute que cette requête HTTP là est associée à la page HTML affichée.
    Elle peut avoir un contexte (donné par l'application Web) et un état (liée à la session utilisateur).

    Pour rendre compte de ces abstractions là, la classe SimpleHTTPRequestHandler est bien trop limité: on préférera utiliser des frameworks plus ou moins compliqués els flask, webpy, pyramid, django,...
    Effectivement, sans savoir à quoi ressemble une application Web, les abstractions qu'ils définissent sont difficiles à comprendre et à maîtriser.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Par défaut
    merci pour votre réponse.
    J'utilise actuellement le framework django pour un autre projet, je me rend donc compte des difficultés de sessions ce n'est pas mon problème ici.
    En effet, je n'ai pas besoin de base de données, pas de session, rien de tout çà.
    En fait, mon projet est simple,
    J'aimerai faire des courbes graphiques en utilisant une bibliothèque javascript.
    J'aimerai tracer des courbes à partir de fichiers csv.
    la bibliothèque javascript demander d'avoir les données sous la forme ["donnee1","donnee2",...]
    Du coup, j'aimerai gérer le formatage en python car j'ai déjà fait un script qui ouvre un fichier csv et formate bien les donnes comme le demande la bibliothèque js.
    Je peux donc pouvoir juste envoyer cette "liste" au javascript...
    En gros c'est une sorte de logiciel mais en fait c'est un site web (je vais cacher les bandes menus de firefox pour que le client ne s’aperçoive pas que c'est du web.
    Suis je claire? désolé si c'est dur à comprendre.
    Mais pour résumer, je veux juste pouvoir envoyer des données de python à javascript.
    Merci

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par mopi42 Voir le message
    la bibliothèque javascript demander d'avoir les données sous la forme ["donnee1","donnee2",...]
    Du coup, j'aimerai gérer le formatage en python car j'ai déjà fait un script qui ouvre un fichier csv et formate bien les donnes comme le demande la bibliothèque js.
    Je peux donc pouvoir juste envoyer cette "liste" au javascript...
    Créer un service Web qui retourne un tableau sous forme JSON lorsqu'il reçoit une requête HTTP n'est pas très compliqué.
    Le soucis sera d'en faire une requête AJAX dans le même domaine/sous-domaine que le document DOM chargé dans le navigateur.
    Si vous ne comprenez pas le "soucis", vous prenez un serveur Web comme flask ou Webpy et farfouillez pour trouver des tutos qui montrent comment çà se met en place: une dizaine de lignes de code.
    Si vous avez l'ambition de refaire tout ou partie de ce que font ces serveur Web au delà de SimpleHTTPRequestHandler, je n'ai pas l'impression que vous réalisiez le "gap" que çà représente.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Par défaut
    Merci encore pour votre réponse.
    J'espère que je ne parais pas prétentieux, car au contraire, je débute dans le web donc je ne connais pas tous les mécanismes.
    Du coup pour pouvoir échanger un tableau (par exemple) entre mon serveur python et mon fichier javascript vous me conseillez d'utiliser flask ou webpy ce sera réalisable? Pouvez vous m'orienter vers le plus facile j'aimerai bien arriver à un résultat dans la journée car je désespère là :S (c'est frustrant d'avoir un script python qui formate bien mes fichiers csv, d'avoir un fichier javascript qui crée des courbes tout seul grace à la bibliothèque mais de ne pas arriver à faire discuter les 2 ensembles...)
    Merci beaucoup en tout cas !

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

Discussions similaires

  1. [AJAX] Requete AJAX lente sur serveur OVH
    Par rere02 dans le forum AJAX
    Réponses: 6
    Dernier message: 23/03/2013, 17h36
  2. Requete AJAX sur serveur exterieur.
    Par ABandApart dans le forum jQuery
    Réponses: 2
    Dernier message: 19/09/2010, 21h37
  3. requete ajax sur un serveur web en java depuis php
    Par enzostar dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 29/03/2010, 13h59
  4. [AJAX] Requete ajax vers serveur
    Par knebhi dans le forum AJAX
    Réponses: 2
    Dernier message: 23/03/2010, 16h24
  5. Réponses: 2
    Dernier message: 03/08/2009, 14h11

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