使用 AJAX 将变量从 jquery 传递到烧瓶

时间:2021-07-22 08:47:38

标签: jquery ajax post

首先声明我是一个新手程序员,如果我的问题很愚蠢,请见谅。

我试图通过 ajax 从 jquery 传递两个变量到烧瓶,但我不能。我读过很多帖子,但没有一个适合我。

我有一个输入,可以用两个 + 和 - 按钮加减 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) {

        }
    })
})

蟒蛇

@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')

解决方案:

我发现了错误,我需要添加 if request.method ==' POST ' 并将 request.args.get () 替换为 request.values.get ()

蟒蛇:

@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')

0 个答案:

没有答案