javascript - request.args.get()返回None类型值(None)

标签 javascript python html

我正在尝试检查用户在登录表单上的输入。我正在向服务器发送 HTTP 请求以检查数据库中的用户名。这是网络 URL:https://bceec5a5-eba3-49e3-b255-d3976d185fad-ide.cs50.xyz:8080/user_name?username=fabianomobono

这是 html

<form id="login_form" action='/home' method='post'>
        <input id="login_credentials_username" name='login_username' type='text' placeholder='Username' >
        <input id="login_credentials_password" name='login_password' type='password' placeholder="Password" >
        <button class="btn btn-primary" type='submit'>Log in</button>
      </form>

这是 JS:

$('#login_form').ready(function() {

    $('#login_form').on('submit', function(e) {

        e.preventDefault();
        logincheck();

    });
});

    function logincheck(){
        var username = document.getElementById("login_credentials_username").value;
        var password = document.getElementById("login_credentials_password").value;

        if (username == ''){
          alert("no user");
          return false;
        }
        else if (password == ''){
           alert('no password');
           return false;
        }

        else if (password && username){
            alert(password + username);
            console.log(username)
            $.get('/user_name?username=' + username, function(r){
                if (r === false){
                    alert('python returned false');
                    return false;
                }

                else{
                    alert('python returned true');
                    return true;
                }

            });
            return false;

        }

      else {

        return true;
      }

         }

这是服务器端的 python:

@app.route("/user_name", methods=["GET"])
def login_usercheck():
    print(Fore.GREEN + "user_check function, line 171")
    username = (request.args.get('login_username'),)
    print(username)
    conn = sqlite3.connect('database.db')
    c = conn.cursor()
    c.execute("SELECT username FROM users WHERE username =?", username)
    old_user = c.fetchall()

    if len(old_user) > 0:
        return jsonify(True)

    else:
        return jsonify(False)

问题是我的 python 函数中的用户名变量总是返回 NULL。我尝试了(request.form.get、request.args.get...等)的所有组合,有趣的是我有一个类似的函数来检查注册凭据,并且效果很好。我似乎无法弄清楚问题是什么...这是我在终端中得到的内容:

(无,)192.168.164.98 - - [2019年11月5日17:54:01]“GET/user_name?username=cf HTTP/1.0”200 -

最佳答案

可能是拼写错误?
在你的 Javascript 中你有:

$.get('/user_name?username=' + username, function(r){

在你的Python中你有:

username = (request.args.get('login_username'),)

尝试 request.args.get('用户名')

关于javascript - request.args.get()返回None类型值(None),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58734062/

相关文章:

javascript - 检查 JavaScript 中是否设置了变量

python - 我一直在尝试在 PyGame 中制作游戏,但碰撞检测器不起作用

html - @font-face 的悬停区域错误?

javascript - 自执行函数中的参数是否必要?

javascript - map 对象中的值没有增加

Python mod_wsgi 数据库连接不工作

python - 在 html 行中获取 href

javascript - 如何通过切换开关上的类通过 div 隐藏/显示

javascript - 添加类 "active"以使用 JQuery 或 JavaScript 进行跨度

javascript - 函数和主 dom 中的变量是否重新声明?