Javascript 类型错误Ajax-Post-Flask-Python
从Flask和Python开始。我有一个简单的表单,它使用jQueryAjax表单库完成ajax post。它转到python端的一个函数,并将用户添加到mongoDb数据库。然后返回一个true或false 返回布尔值后,我得到以下错误: TypeError:“bool”对象不可编辑 最近的回溯: Python端Javascript 类型错误Ajax-Post-Flask-Python,javascript,python,html,flask,Javascript,Python,Html,Flask,从Flask和Python开始。我有一个简单的表单,它使用jQueryAjax表单库完成ajax post。它转到python端的一个函数,并将用户添加到mongoDb数据库。然后返回一个true或false 返回布尔值后,我得到以下错误: TypeError:“bool”对象不可编辑 最近的回溯: Python端 @app.route('/signup', methods=['GET', 'POST']) def signup(): if request.method == 'GET'
@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>
尝试返回:
return jsonify(result=result)
查看文档:
我怀疑
create\u user()
正在返回一个没有字典表示的bool类型。create\u user做什么?你能给我看看这个函数的代码吗?我猜create_用户返回的是某种不能与jsonify一起使用的True/False。您必须提供一个字典来jsonify和create\u用户应该返回一个字典。好的,这是可行的,而且是有意义的。谢谢你的帮助!
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
return jsonify(result=result)