gpt4 book ai didi

javascript - AJAX 发送表单中的所有字段

转载 作者:行者123 更新时间:2023-11-28 16:08:45 24 4
gpt4 key购买 nike

我有一个调用 CGI 脚本的 HTML 文件。当我单击注销按钮时,POST 方法会发送所有字段。这是一个已知的错误吗?

这是我的 JavaScript 代码:

var request = null, session = null;
function postEscape(val) {
return encodeURIComponent(val).replace(/%20/g, "+")
}



function submit_logout() {
var request=null
if( !document.form.loggedIn.checked ) return
logout = new XMLHttpRequest()
logout.open("POST", "client.cgi", true /* asynchronous? */ )
logout.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
console.log("action=logout&session=" + postEscape(document.form.session.value)+"&host="+postEscape(document.form.host.value)+"&port="+postEscape(document.form.port.value))
logout.send("action=logout&session=" + postEscape(document.form.session.value)+"&host="+postEscape(document.form.host.value)+"&port="+postEscape(document.form.port.value)+"&action=logout")
form.loggedIn.checked = false

}

这是我在 POST 数据中看到的内容:

用户名=&密码=&主机=somehost.com&端口=6700&action=注销&显示=++++& session =

这是我的表格

<body>
<form name = "form">
<input name="username" size="25" type="text">username<br>
<input name="password" size="25" type="text">password<br>
<input name="host" size="25" type="text">host<br>
<input name="port" size="25" type="text">port<br>
<input name="login" value="Login" type="button" onclick="submit_login()"><input type="checkbox" name="loggedIn" id = "loggedIn" onclick="this.checked=!this.checked">

<input name="action" value="logout" type="submit" onClick="submit_logout()"><br>
<textarea name="display" rows="24" cols="68"> </textarea><br>
<input type="hidden" name="session" value="">
<input name="message" size="64" maxlength="64" type="text"><input name="send" value="send" type="button" onClick = "send()"><p></p>
</form>

最佳答案

尝试更改以下内容:您正在提交所有内容,因为 type="submit"用于注销。它应该是 type="button" .

<input type="button" />按钮不会提交表单 - 默认情况下它们不执行任何操作。它们通常与 JavaScript 结合使用,作为 AJAX 应用程序的一部分。

<input type="submit" />按钮将在用户单击它们时提交它们所在的表单,除非您使用 JavaScript 另行指定。

<input name="action" value="logout" type="submit" onClick="submit_logout()">

<input name="action" value="logout" type="button" onClick="submit_logout()">  //type="button"

关于javascript - AJAX 发送表单中的所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13794980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com