2016-06-04 3 views
4

Ich möchte die Daten aus der Variable 'geklickt' abrufen, damit ich es in SQL-Abfragen in Flask verwenden kann.Wie bekomme ich Daten in Flask von AJAX Post

JQuery

$(document).ready(function(){ 
    var clicked; 
    $(".favorite").click(function(){ 
    clicked = $(this).attr("name"); 
    $.ajax({ 
     type : 'POST', 
     url : "{{url_for('test')}}", 
     data : clicked 
    }); 
    }); 
}); 

Flask/Python

@app.route('/test/', methods=['GET','POST']) 
def test(): 
    return render_template('test.html') 

Antwort

3

Sie können Ihre Nutzlast in Ihrer Ajax-Request als

$(document).ready(function(){ 
var clicked; 
$(".favorite").click(function(){ 
clicked = $(this).attr("name"); 
$.ajax({ 
    type : 'POST', 
    url : "{{url_for('test')}}", 
    contentType: 'application/json;charset=UTF-8', 
    data : {'data':clicked} 
}); 
}); 
}); 

in Ihrem Kolben Endpunkt zusammensetzen, können Sie den Wert extrahieren, wie folgt:

@app.route('/test/', methods=['GET','POST']) 
def test(): 
     clicked=None 
     if request.method == "POST": 
      clicked=request.json['data'] 
    return render_template('test.html') 
+0

Wo aus den Variablen kamen „Anfrage“? –

+1

@AdailsonDeCastro, müssen Sie es aus Flasche importieren '' 'aus Flasche importieren Anfrage' '' – Sugam

0

An Ihrem Kolben App Endpunktes, können Sie Methode definieren, um GET/POST-Daten wie folgt abrufen:

from flask_restful import reqparse 

def parse_arg_from_requests(arg, **kwargs): 
    parse = reqparse.RequestParser() 
    parse.add_argument(arg, **kwargs) 
    args = parse.parse_args() 
    return args[arg] 

@app.route('/test/', methods=['GET','POST']) 
def test(): 
     clicked = parse_arg_from_requests('data') 
     return render_template('test.html' , clicked=clicked)