2014-03-13 59 views
3

剛開始使用Flask和Python。我有一個簡單的表單,使用jQuery ajax表單庫來完成ajax文章。它轉到python端的函數,並將用戶添加到mongoDb數據庫。然後它返回true或false。TypeError Ajax Post - Flask Python

在返回布爾我得到這個錯誤:

TypeError: 'bool' object is not iterable

最近回溯:

File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__ 

return self.wsgi_app(environ, start_response) 

Python端

@app.route('/signup', methods=['GET', 'POST']) 
def signup(): 
    if request.method == 'GET': 
     return render_template('signup.html') 
    if request.method == 'POST': 
     result = create_user(request.form["firstname"], 
        request.form["lastname"], 
        request.form["username"], 
        request.form["password"], 
        request.form["email"]) 
     return jsonify(result) 

的Javascript

<script type="application/javascript"> 
    $(document).ready(function() { 
      // bind 'myForm' and provide a simple callback function 
      $('#signupform').ajaxForm(function() { 
       alert("Thank you for your comment!"); 
      }); 
     }); 
</script> 

Create_User功能

def create_user(form_first_name, form_last_name, form_username, form_password, form_email): 
    user = User() 
    user.first_name = form_first_name 
    user.last_name = form_last_name 
    user.last_modified = datetime.now() 
    user.username = form_username 
    user.password = form_password 
    user.email = form_email 
    if user.save(): 
     return True 
    else: 
     return False 
+0

[Flask應用程序對象突然布爾]的可能的重複(http://stackoverflow.com/questions/21406057/flask-app-object-suddenly-an-boolean) –

+0

create_user做什麼?你能顯示該功能的代碼嗎?我猜測create_user正在返回某種True/False,它不能與jsonify一起使用。你必須提供一個字典給jsonify,create_user應該返回一個字典。 – codegeek

回答

0

,請返回:

return jsonify(result=result) 

退房文檔:http://flask.pocoo.org/docs/api/#flask.json.jsonify

我懷疑create_user()正在返回一個沒有字典表示的bool類型。

+0

好吧,這是有效的,它是有道理的。謝謝您的幫助! – Will

+0

不客氣! –