所以我正在尝试学习一些 jquery 以在表单中使用来访问 mysql 数据库,这是表单:
<form class="loginform" id="loginform" name="loginform">
<input type="email" id="login" name="login" placeholder="Login..." autofocus required /><br/>
<input type="password" id="password" name="password" placeholder="Password..." required /><br/>
<input type="submit" id="loginsubmit" name="loginsubmit" value="LOGIN"/><br/>
<input type="submit" id="register" name="register" value="REGISTER"/><br/>
</form><!-- end loginform -->
我有一个 JS 函数,并且正在使用该$.submit()
函数并通过定义为参数的函数,因为$.submit()
我有这样的调用$.ajax()
:
function validateLogin(){
$('#loginform').submit(function() {
$.ajax({
url: "./validateLogin.php",
processData: false,
data: {
login: $("#login").val(),
password: $("#password").val()
},
success: function (result){
alert($('#login').val());
alert(result);
}
});
});
}
注意读取的行,最后是url 设置中processData: false,
的方法调用的 php 脚本:$.ajax()
<?php
$verified = FALSE;
$login = $_POST["login"];
$password = $_POST["password"];
$con = mysql_connect(host, user, pass) or die(mysql_error());
mysql_select_db(db, $con) or die(mysql_error());
$result = mysql_query("SELECT * FROM logins") or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
if ($row[login] == $login) {
$verified = TRUE;
}
}
?>
<html>
<body>
<?php echo($verified); ?>
</body>
</html>
有几件事不起作用,除了将表单数据附加到 url 之外,我什么也做不了(提交后 url 看起来像这样:http://localhost/index.htmlqlogin=aloginname&password=apassword&login=LOGIN
,它还添加了 name: 值对出于某种原因,我将提交按钮提交给查询字符串),我从阅读HERE(请参阅数据设置)中了解到,processData: false
这种情况甚至不应该发生。
我也无法success: function()
触发警报(我也尝试过发出警报,beforeSend: function()
但也不会触发。
我有点理解 jQuery,但并不完全是因为我对它比较陌生,但我对我编写的代码的理解是,在 JS 函数中,我将事件处理程序附加到表单(? - 不是表单),并且在该事件处理程序将执行的函数中,我正在调用该$.ajax()
方法,该方法将数据发送到 url 并在成功完成该处理时处理方法success:
设置中定义的函数$.ajax()
。然后在我的 php 脚本中,我连接到 mysql,查询它,检查表单中的登录是否与数据库中的条目匹配,如果匹配,则布尔值更改为 true,最后布尔值在内部回显<html>
标记,但是我不确定如何显示该 html 数据。
简而言之,这就是我的问题。任何指导将不胜感激!如果我对上述过程有任何误解,请随时纠正我。再次感谢。