2012-05-02 21 views
10

Tengo otro problema. Aparece un error en FireFox y no sé cuál es mi error. Siempre lo hice así y nunca tuve un error. Ya compruebo los errores más bajos/mayúsculos, pero no puedo encontrar nada..done no es una función

Gracias

$ .ajax ({type: "POST", url: "ajax/check_username.php", los datos: {nombre de usuario: nombre de usuario}}). Hecho no es una función

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#username").keyup(function(){ 
     var username = $("#username").val(); 
     $(".usernameFeedback").fadeIn("fast"); 

     $.ajax({ 
      type: "POST", 
      url: "ajax/check_username.php", 
      data: { username: username } 
     }).done(function(msg) { 
      $("#loadingImage").hide(); 
      if(msg.status != "error") 
       { 
        if(msg.available == "yes") 
        { 
         $(".usernameFeedback span").text(msg.message); 
         $(".usernameFeedback span").removeClass("notok"); 
         $(".usernameFeedback span").addClass("ok"); 
        } 
        else 
        { 
         $(".usernameFeedback span").text(msg.message); 
         $(".usernameFeedback span").addClass("notok"); 
        } 
       } 
     }); 
     return(false); 
    }) 
}); 
</script> 
+0

¿Qué significa el retorno de la función ajax si no un diferido? Que intente iniciar sesión en la consola. – Bergi

Respuesta

17

Probablemente su versión de jQuery es demasiado antigua. Necesita al menos jQuery 1.5 para objetos jqXHR para implementar la interfaz Promise que está utilizando.

Si no se puede actualizar por alguna razón, sólo tiene que utilizar la opción success:

$.ajax({ 
    type: "POST", 
    url: "ajax/check_username.php", 
    data: { username: username }, 
    success: function(msg) { 

    } 
}); 
+1

¡Gracias! Estaba usando una versión anterior (1.4.2). Lo reemplacé por (1.7.2). Ya no tengo errores, pero todavía tengo un error de codificación. La aplicación debe verificar si un nombre de usuario está disponible (en tiempo de ejecución) pero el resultado no siempre está disponible, pero buscaré mi error. ¡Gracias! – Niels

+0

La solución alternativa funcionó para mí. Gracias y +1. –