【问题标题】:Post request does not execute发布请求不执行
【发布时间】:2018-03-01 14:07:58
【问题描述】:

有两个类似的 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,为什么其中一种不能正常工作?

【问题讨论】:

  • F12 > 网络 > 看看响应
  • 调试控制台的“网络”选项卡显示什么?请求是否已发送,带有正确的 HTTP 动词和正确的 URL 路径?
  • 当然,所有琐碎的事情都已经检查过了..

标签: javascript python


【解决方案1】:

我知道这真的很旧,但我认为可能没有执行 python 代码的原因不是函数,而是函数中的 if 命令。也许current_user.is_authenticated 的值只是falsey。因为我看不出问题应该出在 javaScript 中的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    相关资源
    最近更新 更多