gpt4 book ai didi

javascript - jQuery Ajax 请求不发送信息

转载 作者:行者123 更新时间:2023-11-30 16:55:46 25 4
gpt4 key购买 nike

我的问题是我的登录页面,我知道这没什么特别的,这是为了测试目的。我的错误是一旦我输入我的详细信息,它应该将它们发送到服务器以使用数据库验证它们,然后将我重定向到下一页。

我知道服务器端代码可以正常工作,因为我已经用 Postman 对此进行了测试,它返回 true。当我调用 $srvmsg 时,我认为我的问题出现了,这是因为每次我点击提交时它都会向我发送错误消息“错误用户名和密码不正确”。

我的代码:

<div class="container">

<fieldset>
<legend>Login</legend>
<h2 class="form-signin-heading">Please sign in</h2>
<br>
<label for='username' class="sr-only">Username:</label>
<input class="form-control" type='text' name='username' id='username' maxlength="50" placeholder="Username" />
<br>
<label for='password' class="sr-only" >Password*:</label>
<input class="form-control" type='password' name='password' id='password' maxlength="50" placeholder="Password"/>
<br>
<input class="btn btn-lg btn-primary btn-block" type='button' name='submit' id="submission" value='Submit' />

</fieldset>

<!-- //container -->
</div>
<script type="text/javascript">

$(function(){
$("#submission").click(function(){
var $id = $("#username").val();
var $pass = $("#password").val();
var $msg = "";
var $srvmsg = "";
if($.trim($id).length === 0 ) $msg+="- Username is requried\n";
if($.trim($pass).length === 0 ) $msg+="- Password is required\n";
if($msg === ""){
$srvmsg = $.ajax({
type : 'post',
async : false,
data : {
"username" : $id,
"password" : $pass
},
url : "http://localhost/login"
}).done(function(data){
if(data.loggedIn === true){
window.location = "http://localhost/my-app/www/home.html";
} else {
alert("Error Username and Password Incorrect");
}
});

} else {
alert("Errors on the form : \n"+$msg);
}
});
});
</script>

为了提供帮助,这也是我的服务器端代码,我已经对此进行了测试,但希望它可以让您更好地了解出了什么问题。

服务器端代码:

session_start();
if(isset($_POST)){
$username = $_POST['username'];
$password = $_POST['password'];
$msg = array();
if ($username&&$password){
$connect = mysql_connect("127.0.0.1:8889","root","root") or die ('Couldnt Connect!!');
mysql_select_db("AppDatabase") or die ('Couldnt find DB');
$query = mysql_query("SELECT * FROM users WHERE username = '$username'");
$numrows = mysql_num_rows($query);

if($numrows !=0)
{
while($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
$_SESSION['clientid'] = $row['user_id'];
}

if($username==$dbusername&&$password==$dbpassword)
{
$_SESSION["loggedIn"] = true;
$msg['loggedIn'] = true;
$msg['client_id'] = $_SESSION['clientid'];
$msg['message'] = "welcome!";

} else {
$msg['client_id'] = false;
$_SESSION["loggedIn"] = false;
$msg['loggedIn'] = false;
};
}else{
$msg['message'] = 'Username or Password entered incorrectly';
}
} else {
$msg['message'] = 'You have not entered username or password';
}
echo json_encode($msg);
}

更新

我添加了 type : 'post', 但我仍然收到同样的错误。我不确定是否向 $srvmsg 传递了用户名和密码。

谢谢你的时间。

最佳答案

jQuery ajax documentation 起使用 type: 'post'

关于javascript - jQuery Ajax 请求不发送信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29749532/

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