這裏是我的Ajax代碼如下Ajax調用
$('.username-check').on('click', function() {
//console.log('You clicked');
alert(username);
var username = $('.username-target'),
lastname = $('.lastname-target'),
feedback = $('.username-feedback');
function changeFeednackText(text){ feedback.text(text); }
function couldNotCheck(){ changeFeednackText('Could not check at this time'); }
$.ajax({
url: 'check/username.php',
type: 'get',
data: {
username: username.val(),
lastname: lastname.val()
},
dataType: 'json',
success: function(data){
if(data.available !== undefined){
if(data.available === true){
changeFeednackText('That username is available.');
}else{
changeFeednackText('Sorry, that username is not available.');
}
}else{
couldNotCheck();
}
},
error: function(){
couldNotCheck();
}
});
});
我的HTML代碼
<form action="signup.php" method="post" autocomplete="off">
<div>
<label for="username">First Name<input type="text" name="username" id="username" class="username-target"></label><br />
<label for="lastname">Last Name<input type="text" name="lastname" id="lastname" class="lastname-target"></label><br />
<a href="javascript:;" class="username-check">Check username</a>
</div>
<div class="username-feedback"></div>
<div><input type="submit" value="Check"></div>
</form>
我的PHP也低於
header('Content-Type: application/json');
$username = (isset($_GET['username'])) ? htmlspecialchars($_GET['username']) : null;
$lastname = (isset($_GET['lastname'])) ? htmlspecialchars($_GET['lastname']) : null;
$available = true;
if($username == 'bar' && $lastname == 'foo'){
// if($username == 'bar'){
$available = false;
}
$arr = array('username' => $username . $lastname, 'available' => $available);
echo json_encode($arr);
上面的代碼工作正常並返回false
如果我使用if語句像這樣if($username == 'bar'){
但是當我用來檢查再次t兩個值,例如if($username == 'bar' && $lastname == 'foo'){
它總是返回true
。
請注意,我試過foo和bar分別爲username
和lastname
以獲得false
回電但沒有成功。不知道這裏有什麼問題,但我希望你們中的任何人都能發現錯誤並幫助我。你有什麼想法嗎?
你有沒有機會通過ajax調用,使用螢火蟲或其他東西來檢查發送到你的php的數據? – Satya 2014-09-27 23:27:23
哦謝謝@Satya ...現在沒有檢查它,但它只發送用戶名...但這是我第一次嘗試使用ajax,所以如果你能看到任何問題,請讓我知道。 – Amjad 2014-09-27 23:30:20
_...我試過foo和酒吧作爲用戶名和姓氏..._ - 不應該是富作爲姓氏和酒吧作爲用戶名?否則,「真實」是真實的。 – 2014-09-27 23:30:22