有两个类似的POST请求。第一个工作正常,第二个遇到问题。
第一次请求:
if(document.querySelector('li.logout')){
document.querySelector('li.logout').onclick = function(){
alert('ok');
var form = document.querySelector('main > form');
form.method = 'post';
form.action = '/logout';
form.submit();
}
Python函数
@app.route('/logout', methods=['POST'])
def logout():
login_status = logout_user()
if login_status:
trigger_logged_out()
jsonify({'result': True})
return redirect('/')
return jsonify({'result': False})
第二次请求:
if(document.getElementById('comeback_to_personal_account')){
document.getElementById('comeback_to_personal_account').onclick = function(){
var form = document.querySelector('main > form');
alert('ok');
form.method = 'post';
form.action = '/comeback_to_personal_account';
form.submit();
}
}
Python函数:
@app.route('/comeback_to_personal_account', methods=['POST'])
def comeback_to_personal_account():
if current_user.is_authenticated:
data = get_default_user_data(current_user.get_id())
return render_sidebar_template("personal_account.html", data=data)
在第二个请求中只执行警报,但是python函数本身 - 没有。我无法理解这里的问题.. 这两个案例是sme,为什么其中一个不能正常工作?
答案 0 :(得分:0)
我知道这真的很老了,但我想也许 python 代码没有执行的原因不是函数,而是函数中的 if 命令。也许值 current_user.is_authenticated
只是 falsey
。因为我看不出为什么问题应该出在 javaScript 中。