0
不知道爲什麼,但我添加了一個「錯誤」子句以確保AJAX失敗。它可以正常工作到AJAX部分,它只是不發送數據,不知道爲什麼。嘗試發送數據時出現AJAX/JQuery錯誤
<script type="text/javascript">
<!--
$(document).ready(function() {
$("#login").click(function() {
document.getElementById("result").innerHTML = 'Validating credentials...';
var un = $("#un").val();
var pw = $("#pw").val();
if (un == "")
{
document.getElementById("un_error").style.visibility = 'visible';
$("#un").focus();
}
if (pw == "")
{
document.getElementById("pw_error").style.visibility = 'visible';
$("#pw").focus();
}
$.ajax({
type: 'POST',
url: 'login-parse.php',
data: { un: un, pw: md5(pw) },
success: function(msg) {
document.getElementById("result").innerHTML = msg;
},
error: function(xhr, status) { alert(status); }
});
});
});
//-->
</script>
這就是JS代碼。
這是HTML:
<div id="content">
<div id="result" class="result"></div>
<h2>Login To Your Account</h2>
<div class="text">
<fieldset>
<fieldset>
<legend>Username</legend>
<input type="text" id="un" value="" size="20" /><span class="error" id="un_error">*</span>
</fieldset>
<fieldset>
<legend>Password</legend>
<input type="password" id="pw" value="" size="30" /> <span class="error" id="pw_error">*</span>
</fieldset>
<input type="button" id="login" value="Login" />
</fieldset>
</div>
</div>
<?php
// Login Parser
require 'inc.common.php';
if (! isset ($_POST['un'], $_POST['pw']))
{
echo '<blockquote>Invalid username/password combination.</blockquote>' . "\n";
} else {
$un = $_POST['un'];
$pw = md5($_POST['pw']);
$check = $sql->result ($sql->query ('SELECT COUNT(*) FROM `users` WHERE `user_name` = \'' . $sql->escape($un) . '\' AND `user_password` = \'' . $sql->escape($pw) . '\''));
$errors = array();
if (! strlen ($un))
$errors[] = 'Please enter a valid username.';
if (! strlen ($pw))
$errors[] = 'Please enter a valid password.';
if ($check == 0)
$errors[] = 'Invalid username/password combination.';
if (count ($errors) > 0)
{
echo '<blockquote>' . "\n",
' The following errors occurred with your login:' . "\n",
' <ul>' . "\n";
foreach ($errors as $enum => $error)
{
echo ' <li><strong>(#' . ($enum+1) . '):</strong> ' . $error . '</li>' . "\n";
}
echo ' </ul>' . "\n",
'</blockquote>' . "\n";
} else {
setcookie ('ajax_un', $un, time()+60*3600);
setcookie ('ajax_pw', $pw, time()+60*3600);
echo '<blockquote>' . "\n",
' <p><strong>Success!</strong></p>' . "\n",
' <p>You have successfully been logged in as <strong>' . $un . '</strong>.</p>' . "\n",
' <p>You may now return to the <a href="index.php">index page</a>.</p>' . "\n",
'</blockquote>' . "\n";
}
}
?>
是的,jquery被調用以及包含md5函數的函數js文件。文件「login-parse.php」也與登錄文件位於同一個目錄中。 – user2555004
在控制檯中的任何錯誤? –
在控制檯沒有錯誤,這就是爲什麼我不明白爲什麼它不工作 – user2555004