Javascript 如何创建一个if语句来查找获取请求?
我正在用烧瓶取回() 我有一张表格 当文本输入“a”更改/输入文本时。 提取请求被发送到“/验证表单” 按下表单末尾的提交按钮时。 它也将表单提交到“/验证表单” 我可以创建一个If-else语句,该语句将能够区分是发送提取请求还是将表单提交给“/验证表单” 我尝试了下面的方法,但是“FETCH”一直被打印到终端上Javascript 如何创建一个if语句来查找获取请求?,javascript,python,forms,flask,fetch,Javascript,Python,Forms,Flask,Fetch,我正在用烧瓶取回() 我有一张表格 当文本输入“a”更改/输入文本时。 提取请求被发送到“/验证表单” 按下表单末尾的提交按钮时。 它也将表单提交到“/验证表单” 我可以创建一个If-else语句,该语句将能够区分是发送提取请求还是将表单提交给“/验证表单” 我尝试了下面的方法,但是“FETCH”一直被打印到终端上 @app.route("/validate-form", methods = ["POST"]) def register(): if request.method == "
@app.route("/validate-form", methods = ["POST"])
def register():
if request.method == "POST":
if "username" in request.form and "password" in request.form:
print("submitted")
return "Thanks"
else:
print("FETCH")
return "Thanks"
如果我很清楚您想要什么,并且为了区分这一点,您可以在通过“POST”发送数据之前在javascript中测试事件类型,如下所示:
if(window.event.type === 'submit'){
// You are sending data
} else {
// You are validating data
}
它适合我,正确打印“提交” 我可以提出的解决方案是使用一些隐藏的输入,只有在单击提交按钮时才会发送这些输入
<input type="hidden" name="isFormSubmitted" value="true" />
<h1>Hello Flask</h1>
<form id="myForm" action="/validate-form" method="POST">
<label>Password</label>
<input name="password" type="password" />
<label>Username</label>
<input name="username" type="text" />
<input type="hidden" name="isFormSubmitted" value="true" />
<label>Validate when I am changed</label>
<input name="validate" type="text" id="validate"/>
<input type="submit" value="Send" />
</form>
<script>
window.onload = function() {
const myForm = document.getElementById("myForm");
const validateInput = document.getElementById("validate");
//input or change event handler
validate.addEventListener("input", function(e) {
const data = new FormData(myForm);
data.set("isFormSubmitted", "false");
fetch('/validate-form', {
method: 'POST',
body: data,
}).then((response) => {
console.log(response);
});
})
}
</script>
@app.route("/validate-form", methods = ["POST"])
def register():
if request.method == "POST":
print(request.form)
if request.form["isFormSubmitted"] == "true":
print("SUBMITTED")
return "Thanks submitted"
else:
print("FETCH")
return "Thanks fetch"