本地变量'请求'在分配之前引用

时间:2016-05-30 15:27:54

标签: python ajax flask

所以,这是我在烧瓶应用程序中对特定路线的ajax调用:

    $.ajax({
        url: '/addfriend',
        type: 'POST',
        contentType: 'application/json',
        data: JSON.stringify(obj.user),
        success: function(results) {
            console.log(results);
            $('#u-' + obj.user.id + '').css('background-color', 'grey');
            $('#u-' + obj.user.id + '').val('Pending');
        }
    })

}

所以在我的python代码中,这里有函数:

@app.route('/addfriend', methods=['POST'])
def addFriend():
  if request.method == 'POST':

    data = json.loads(request.data)
    print data

    request = FriendRequests(sender_id=login_session['userid'],
                                recipient_id=data['id'])

    session.add(request)
    session.commit()

    response = make_response(json.dumps('Add Successful!'), 200)
    return response

但是我收到了这个错误:

UnboundLocalError:局部变量'请求'在分配前引用

这是唯一这样做的路线。帮助

1 个答案:

答案 0 :(得分:1)

您需要先导入request

from flask import request

@app.route('/addfriend', methods=['POST'])
def addFriend():
  if request.method == 'POST':

    data = json.loads(request.data)
    print data

您可能希望为数据对象提供不同的名称。

    NOTrequest = FriendRequests(sender_id=login_session['userid'],
                                recipient_id=data['id'])

Docs here