2016-05-30 6 views
-1

So, hier ist mein Ajax-Aufruf zu einer bestimmten Route in meinem Kolben App:lokal Variable 'request' vor der Zuweisung referenziert

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

} 

Also in meinem Python-Code, hier ist die Funktion:

@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 

aber ich bekomme diese Fehlermeldung:

UnboundLocalError: lokale Variable 'request' verwiesen vor der Zuweisung

Dies ist die einzige Route, die dies tut. Hilfe?

Antwort

0

Sie müssen zuerst request importieren.

from flask import request 

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

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

Und wahrscheinlich möchten Sie Datenobjekt einen anderen Namen geben.

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

Docs here

Verwandte Themen