使用ajax将变量从jquery传递到flask

lo8azlld  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(301)

首先要说的是,我是一个新手程序员,如果我的问题很愚蠢,请原谅。
我试图通过ajax将两个变量从jquery传递到flask,但我不能。我读过很多帖子,但没有一篇适合我。
我有一个输入,可以用两个+和-按钮加和减1。我想传递那个数量和一个字符串变量来更新数据库。我尝试过url中的参数和json,但我无法。
我希望我已经解释清楚了
非常感谢。
AJAX

$('.control-number-btn').on('click', function(e) {
    let value = $('#value-' + id).text();
    let sensor = 'limit-' + id;
    $.ajax({
        type: 'POST',
        url: '/ajax',
        data: { 'newValueVar': value, 'sensorVar': sensor },
        success: function(html) {

        }
    })
})

python

@app.route('/ajax', methods=['GET', 'POST'])
def ajax():
    with conexion.cursor() as cursor:
        consulta = 'UPDATE sensor_data SET value=%s WHERE sensor=%s;'
        newValue = request.args.get('newValueVar')
        sensor = request.args.get('sensorVar')
        cursor.execute(consulta, (newValue, sensor))
        conexion.commit()
    return ('nothing')

解决方案:
我发现了错误,我需要添加 cif request.method ==' POST ' 替换 request.args.get () 具有 request.values.get () Python:

@app.route('/ajax', methods=['GET', 'POST'])
def ajax():
    if request.method == 'POST':
        newValue = request.values.get('newValueVar')
        sensor = request.values.get('sensorVar')
    with conexion.cursor() as cursor:
        consulta = 'UPDATE sensor_data SET value=%s WHERE sensor=%s;'
        cursor.execute(consulta, (newValue, sensor))
        conexion.commit()
        # conexion.close()
    return ('nothing')

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题