comment puis-je utiliser les données publiées de l'ajax dans le flacon?

Je vais avoir de la difficulté à obtenir des données publiées à partir de jquery ajax.

$('#clickme').click( function() {
    var data = save_input(); // data

    data['_sid'] = $survey_id;  // survey_id injected from flask
    data['_uip'] = $user_ip; // user_ip injected from flask, request.remote_addr

    $.ajax({
        type : "POST",
        url : "{{ url_for('mod.load_ajax') }}",
        data: JSON.stringify(data),
        contentType: 'application/json;charset=UTF-8',
        success: function(result) {
            console.log(result);
        }
    });

    console.log(data);
});

à partir du code, data est un objet javascript comme

{
    'foo' : 'foo',
    'bar' : 'bar',
    'fo_' : 42,
}

ce que j'essaie de faire dans la fiole est :

@mod.route('/load_ajax', methods=["GET", "POST"])
def load_ajax():
    if request.method == "POST":
        # load _sid and _uip from posted JSON and save other data
        # but request.form is empty.
        # >>> request.form
        # ImmutableMultiDict([]) 
        return str(request.form)

voir, la requête ajax est faite, mais aucune donnée n'est présentée. Je ne console.log(data) avec ajax et je peux voir que j'ai vraiment quelques données significatives dans data variable en jquery. mais demande.formulaire en ajax affichage est vide. Où sont mes données présentées?

  • Changement JSON.stringify(data) à data et voir ce qui se passe.
  • Je dois recevoir les données. Comment puis-je recevoir au format JSON?
  • Avez-vous essayé request.json?
  • utiliser ceci comme Données de la chaîne: "data=" + JSON.stringify(data);.
InformationsquelleAutor thkang | 2013-02-16