【发布时间】:2019-02-08 20:53:05
【问题描述】:
我需要使用 javascript 和 python 中的烧瓶检查注册表单中的用户名输入,但我不知道如何实现它。
我必须在 javascript 部分和 python 代码中使用$.get,它应该检查并返回 jsonifyied true 或 false。
Python 代码:
@app.route("/check", methods=["GET"])
def check():
"""Return true if username available, else false, in JSON format"""
username = request.args.get("q")
rows = db.execute("SELECT * FROM users WHERE username = :username", username=username)
if len(rows) >= 1 or len(username) < 1:
return jsonify(False)
else:
return jsonify(True)
HTML 部分:
<form action="/register" method="post" id ="register">
<div class="form-group">
<input autocomplete="off" autofocus class="form-control" name="username" placeholder="Username" type="text">
</div>
<div class="form-group">
<input class="form-control" name="password" placeholder="Password" type="password">
</div>
<div class="form-group">
<input class="form-control" name="confirmation" placeholder="Confirm Password" type="password">
</div>
<button class="btn btn-primary" id="submittion" type="submit">Register</button>
</form>
<script>
let input = document.querySelector('input[name=username]');
input.onkeyup = function() {
$.get('/check?q=' + input.value, function(data) {
if (data == "FALSE"){
data.preventDefault()
alert("Username is not available!");
}
});
};
</script>
一旦在 SQL 中检查用户名是否已经存在,它应该提醒用户。调试显示它确实在列表中搜索用户名,但它没有警告或任何东西。
【问题讨论】:
-
欢迎来到 StackOverflow。如您所知,这是一个您将花费很长时间试图解决的代码中的问题的网站,作为最后的手段不得不寻求帮助。这不是代码编写服务。
标签: javascript python jquery html cs50