Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Désérialiser vers ajax via serveur Flask

+4 votes

Je bidouille Flask et simule une vitrine d' e-commerce.
L'utilisateur click sur un bouton représentant l' article qui l’intéresse, ceci part dans le serveur python qui
renvoi une réponse fournissant des infos en relation. L'exemple est bâclé mais c'est le mécanisme et la syntaxe qui m’intéressent.
Je pense bloquer sur une sécurité propre à jsonify de Flask , bref c'est un problème de sérialisation / deserialisation. J'ai lu et essayé pas mal de façon mais je voudrai pouvoir manipuler comme en python, mais apparemment ça sort de la string ou du array et je m'y perd.
J'ai pas mis tout le code notamment les classes, mais mes instances marchent bien à la maison , c'est juste
que le retour se fait en bloque et crache tout d'un coup , impossible d' accéder à un couple clef-valeur en particulier.

Voici la requete ajax:

{% extends "layout.html" %}
{% block body %}
<script type="text/javascript">
$(document).ready(function() {          
    $('.marked').each(function(){
        var monID = '' + $(this).attr('id');

        $(this).click(function(){

            $.ajax(
             {
                type:'GET',
                url:$SCRIPT_ROOT + '/ACHETER',

                dataType: "JSON",

                data:{clikedname: $(this).attr('id')},
                success: function(myresponse){   
                  $('#email_du_client').html(myresponse["email"]);

                  document.getElementById('Mon_MP3').play();
                }
             }
          );

        });   
  });     
});

</script>

voici le traitement python:


app = Flask(__name__)


@app.route('/ACHETER')
def ACHETER():

    clikedname= request.args.get('clikedname', 0, type=str)  
    pythoncapture=str()
    pythoncapture = clikedname    

    myresponse = {"username":user.name,
                   "email":user.mail,
                   "id":user.id}

    # return jsonify(myresponse=myresponse)  
    return Response(flask.json.dumps(myresponse),  mimetype='application/json')


@app.route('/')
def index():
    return render_template('index.html', mon_mag =mon_mag,mon_client=mon_client,mon_panier=mon_panier)


if __name__ == '__main__':
    app.run(debug=True)

Je cherche à placer les bonnes infos dans les div adéquates, et non l'integralité des infos dans une seule div. ex:

$('#email_du_client').html(myresponse["email"]);

ça déconne côté python ou côté javascript ?

demandé 6-Mai-2015 par buffalo974 (2,542 points)

A quel moment ça déconne exactement ? Est-ce que tu peux nous dumper le contenu de la données telle que tu la reçois où ça merde ?

Je dirais que le problème vient du côté Javascript si tu reçois tout le bloc.

Votre réponse

Preview

Votre nom à afficher ( en option ):
Vie privée: . Votre adresse de messagerie ne sera utilisée que pour l'envoi de ces notifications .
Vérification anti -spam:
Pour éviter cette vérification à l'avenir, Connectez vous ou inscrivez vous.
...