gpt4 book ai didi

javascript - jQuery Ajax Post 不断在 URL 上添加用户名和密码

转载 作者:行者123 更新时间:2023-12-02 13:51:02 24 4
gpt4 key购买 nike

我正在使用如上所述的登录对话框 here on jQWidgets我认为这不是我遇到的问题,因此是否有人以前使用过它来回答我的问题并不重要:

通过输入登录凭据来测试登录功能时,用户名和密码不断添加到我不想要的页面的 URL 上。我不知道为什么会发生这种情况。我的 jQuery Ajax Post Webservice 调用有问题吗?

例如,我的 web 应用程序主页 URL 是:https://example.com/home.html

输入日志凭据后,由于某种原因,它会添加到 URL,如下所示:

https://example.com/home.html?username=myname&password=mypassword

这是我的 HTML:

<!-- Login HTML Begins -->
<div id="wrap">

<div id="window" caption="Login">
<div>
<form >
<table>
<tr>
<td>Username:</td>
<td><input style="width: 150px;" type="text" name="user" id = "username" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input style="width: 150px;" type="password" name="password" id = "password" /></td>
</tr>
<tr>
<td colspan="2" align="right" valign="bottom">
<input type="submit" id="submit" value="Login" />
</td>
</tr>
</table>
</form>
</div>
</div>

<!-- Login HTML ends -->

这是我的 JavaScript 代码:

<script type="text/javascript">
$(document).ready(function () {
$('#window').jqxWindow({ theme: "shinyblack", width: 250, height: 130, isModal: true });
$('#submit').jqxButton({ theme: "shinyblack" });

var loginUrl = "https://example.com:8443/Webservice/loginCheck"

$( "#submit" ).click(function() {

var userName = $("#username").val();
var passWord = $("#password").val();

var ajaxRequest = jQuery.ajax({
//beforeSend: TODO: show spinner!
data: {
username: userName,
passWord: passWord
},
dataType: "json",
method: "POST",
url: loginUrl
})
.done(function (data_, textStatus_, jqXHR_) {

// Validate the web service and retrieve the status.
if (typeof (data_) === "undefined" || data_ === null) { alert("Invalid data returned from LoginCheck Web Service"); return false; }
if (isEmpty(data_.webservice_status) || isEmpty(data_.webservice_status.status)) { alert("Invalid Web Service Status for LoginCheck Webservice!"); return false; }
if (data_.webservice_status.status != "SUCCESS") { alert(data_.webservice_status.message);


return false; }
})

.fail(function (jqXHR_, textStatus_, errorThrown_) {
alert("Hitting the Fail function : Error in LoginCheck webservice: " + errorThrown_);
return false;
});


}




});
</script>

最佳答案

表单使用的默认协议(protocol)是 GET,因此您需要使用 POST 协议(protocol)覆盖它

所以你需要这样的东西:

<form action="url" method="post">
..
..
..
</form>

还有嵌入式点击功能,您应该通过输入以下代码来防止某些默认情况:

$("#submit").click(function(e){
e.preventDefault();
<!-- your statement !>
...
})

还有按钮类型:

 <button type="button" id="submit"></button> 

 <input type="button" id="submit">

关于javascript - jQuery Ajax Post 不断在 URL 上添加用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41031030/

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