我想調出HTTP身份驗證框來處理我的登錄。但是,我想通過Ajax與我的數據庫進行通信。但我不知道如何連接HTTP身份驗證框與AJAX。如何與jquery進行HTTP身份驗證來驗證登錄系統?
任何想法,如何做到這一點?還請包括例如
我想調出HTTP身份驗證框來處理我的登錄。但是,我想通過Ajax與我的數據庫進行通信。但我不知道如何連接HTTP身份驗證框與AJAX。如何與jquery進行HTTP身份驗證來驗證登錄系統?
任何想法,如何做到這一點?還請包括例如
(令我驚訝的)的jQuery內置了support用於提供HTTP認證證書:
$.ajax({
url: "http://example.org/",
username: "NAMENAMENAMENAMENAME",
password: "PWPWPWPWPWPWPWPWPWPW",
...
})
或者你可以重寫XMLHttpRequest對象就像這個例子:http://dothow.blogspot.com/2009/05/http-basic-authentication-with-jquery.html
基本HTML:
<form id="login-form" action="/login.php" method="post">
<label for="username">Username: </label>
<input type="text" name="username" id="username"/><br />
<label for="Password">Password: </label>
<input type="text" name="password" id="password"/><br />
<input type="submit" value="Login"/>
</form>
基本的jQuery:
$(document).ready(function() {
$('#login-form').bind('submit', function (e) {
var self = $(this);
// See ajax: http://api.jquery.com/jQuery.post
// See serialize: http://api.jquery.com/serialize()
jQuery.post(self.attr('action'), self.serialize(), function() {
if (response.success) {
// wooo, logged in
} else {
alert("Invalid username or password. Please try again");
}
}, 'json');
e.preventDefault(); //prevent the form being posted
});
});
基本PHP:
<?php
if ($_POST['username'] == 'Admin' && $_POST['password'] == 'letmein') {
echo json_encode(array('success' => true));
} else {
echo json_encode(array('success' => false));
};
?>
數據驗證的一點還是不錯的。
這是某種形式的開玩笑還是你對這個問題很認真? – 2010-08-01 09:24:50
不,我想與jquery溝通HTTP登錄框 – Starx 2010-08-01 09:27:18
哦,對,因爲我認爲你是在開玩笑,並不是說這個改變什麼,但你總是希望得到答案。有了這個級別的細節你的問題我不會:-) – 2010-08-01 09:28:36