瓶装服务器从列表框到SQL数据库的POST选项

问题描述 投票:0回答:2

我目前有一个按钮,单击它时会创建两个变量。这些包含列表框中的选定选项。然后我试图通过瓶脚本将这些发布到我的数据库,但它不起作用。有人能解释一下为什么吗?

该按钮的HTML / JQuery代码如下:

$("#btnStartEvent").bind("click", function () {
        var selectedStudents = $('#lstBox2 option:selected');
        var selectedEvent = $('#event_options option:selected');


        alert(selectedEvent); 
        $.post( "/send_data", { eventIDPost: selectedEvent},function(data ) { 
        alert( data ); 


});

我处理这个POST的瓶子代码是:

@post('/send_data')
def send_data():
    postdata = request.body.read() 
    events_id = request.forms.get("eventIDPost") 
    sql = "INSERT INTO tblResults VALUES('{}')".format(events_id)
    run_sql(sql)
python sql post bottle
2个回答
0
投票

我不确定瓶子@post是否破损,但参考

http://bottlepy.org/docs/dev/api.html#bottle.Bottle.route

并将api方法更新为:

@app.route('/send_data', method=['POST'])
def send_data():

开始听API调用。否则是405错误

另请参阅https://api.jquery.com/jquery.post/

$.post("/send_data", { "eventIDPost": 1 })
   .done( function (data) {console.log(data)});

希望这可以帮助。


0
投票

我可以向你保证,@post没有被打破。我每天都用它。

from bottle import post, request

def merge_dicts(*args):
    result = {}
    for dictionary in args:
        result.update(dictionary)
    return result

@post('/send_data')
def send_data():
    return merge_dicts(dict(request.forms), dict(request.query.decode()))
© www.soinside.com 2019 - 2024. All rights reserved.