我做了更新all things you told me,這是我的結果。 全面更新:檢查從ajax/php返回的數據
$(document).ready(function(){
$("#submit").submit(function(e){
e.preventDefault();
var username = $("#username").val();
var result;
var request;
if(username){
request = $.ajax({
url: 'check.php',
data: {data: JSON.stringify(username)},
type: 'POST',
dataType: "json",
success: function (data) {
result = data;
}
});
} else {
alertify.error("ERROR");
}
request.done(function() {
console.log(result);
if(request.result == 1) {
alert("yes")
} else {
alert("no")
}
});
});
});
check.php:
$usernameChecker = new UsernameChecker($config);
$data = $_POST['data'];
$data = json_decode($data,true);
if(!empty($data)) {
if ($usernameChecker->check_regex($data)) {
if($usernameChecker->check_length($data)) {
if (!$usernameChecker->check($data)) {
echo json_encode(array("error" => "Username already taken" , "result" => 0));
} else {
echo json_encode(array("error" => "Username available" , "result" => 1));
}
} else {
echo json_encode(array("error" => "Username too long" , "result" => 0));
}
} else {
echo json_encode(array("error" => "Allowed symbols: a-z , A-Z , 1-9 and \"_\"" , "result" => 0));
}
} else {
echo json_encode(array("error" => "You forgot to type your username" , "result" => 0));
}
這是我現在有,只是控制檯說:
「的結果是沒有定義」
SO:
當我提交空輸入時,我得到的請求是未定義的。
當我提交填充的輸入時,我得到警報「否」。而且這一部分:
「用戶名可用」
被標記爲紅色。
但在控制檯data.result是「1」?
編輯看來,代碼已經這樣做,你只是不't做任何事情... – Jessica
我編輯的代碼,看看底部,你會看到我的意思 – user3094856