(这可能是个愚蠢的问题,所以请戴上你的愚蠢盾牌!)我是一名PHP程序员,现在正在学习Python+Flask。最近,我不得不在通过AJAX发布数据和返回响应方面费尽心思。最后,有效的代码是:
@app.route('/save', methods=['POST'])
def save_subscriptions():
if request.method == 'POST':
sites = request.form.get('selected')
print(sites)
sites = sites[0:-1]
g.cursor.execute('UPDATE users SET sites = %s WHERE email = %s', [sites, session.get('email')])
g.db.commit()
return json.dumps({'status': 'success'})
如果我将return json.dumps({'status': 'success'})
更改为return 1
,我将得到一个int is not callable
的异常。首先,我不明白是谁在试图称之为{echo 1;
,这将成为AJAX响应。那么,为什么return 1
在烧瓶里不起作用呢?在
烧瓶视图is described in the docs返回内容背后的逻辑细节:
在您的例子中,返回整数} method 被调用,如果是整数,它将调用} method ,当尝试实例化一个WSGI应用时,最终将无法创建
1
Flask应用最后一条规则并尝试将其转换为响应对象,但失败了。在内部,^{werkzeug.Response
类的^{BaseResponse
类的实例:其中
app
在您的例子中是整数1
。在相关问题 更多 >
编程相关推荐