Je suis en train de vérifier le nom d'utilisateur de l'utilisateur lors de la saisie dans le formulaire d'inscription et j'ai créé la fonction suivante:réponse CodeIgniter JSON AJAX avec jQuery
function validateSignupEmail(input){
if (input == ""){
return "Please enter your usernane.";
}else if (input.length > 20){
return "Your username cant exceed 20 characters.";
}else{
var type = "username_check";
$.ajax({
type: "POST",
url: www+"signup/validate",
dataType: 'json',
data: {
type : type,
input : input
},
success: function(data) {
return data.response;
}
});
}
}
A l'intérieur du contrôleur d'inscription que j'ai la fonction suivante appelée validate()
function validate(){
$type = isset($_POST["type"]) ? $_POST["type"] : "";
$input = isset($_POST["input"]) ? $_POST["input"] : "";
if ($type == "username_check"){
echo json_encode(array('response' => 'username available'));
}else{
return false;
}
}
aussi je le code suivant qui montre ce que l'état de nom d'utilisateur dans un div
:
$("#signup_page form input[type='text']#username").keyup(function(){
var text = validateSignupEmail($(this).val());
console.log('text => '+text);
$(".signup_ajax_live_messages").find(".username_check").text(text);
})
La chose est que je ne peux pas retourner la réponse AJAX dans le succès: function(){}
Merci.
merci, quelle est la meilleure façon de l'approcher au lieu de ajax-demande sur chaque touche unique? – fxuser
@fxuser - Utilisez 'setTimeout'. Voir ma réponse mise à jour. –
merci, cela semble fonctionner quand je continue à appuyer sur un bouton dans mon clavier, puis le relâcher ... il ne semble pas fonctionner quand je continue de taper rapidement mon nom par exemple ... – fxuser