2016-06-04 2 views
4

Я хочу получить данные из переменной «clicked», чтобы я мог использовать ее в SQL-запросах в Flask.Как получить данные в Flask из сообщения AJAX

JQuery

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

Колба/Python

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

ответ

3

вы можете составить свой полезный груз в запросе Ajax, как

$(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} 
}); 
}); 
}); 

в вашей колбе конечной точке, вы можете извлечь значение как следует:

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

Где пришел из переменной «запроса»? –

+1

@AdailsonDeCastro, вам придется импортировать его из фляжки '' 'из запроса на импорт флажков' '' – Sugam

0

В флягу приложение конечной точки, вы можете определить метод для извлечения данных GET/POST, как это:

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) 
Смежные вопросы