2012-07-06 11 views
8

Necesito contar la longitud de una respuesta Ajax realizada en jQuery. La respuesta está en formato JSON y solo contiene una sola cadena. Obtengo el valor, pero no tengo idea de cómo contar la longitud de esta cadena.Obtenga la longitud de jQquery Respuesta Ajax

Aquí está mi código:

var tempId; 
$.ajax({ 
    url: "<?=base_url();?>index.php/sell/decoder", 
    type: "POST", 
    data: {'str' : sometext}, 
    dataType: 'json', 
    async: false, 
    success: function(response) { 
     tempId = response; // This gives me a return value as a string. For example = 153 
     alert(tempId.length); // But this returns "undefined". What should I do to get the length? 
    } 
}); 

Aquí está la estructura de la cabecera de la respuesta:

Connection Keep-Alive 
Content-Length 2 
Content-Type text/html 
Date Fri, 06 Jul 2012 08:12:12 GMT 
Keep-Alive timeout=5, max=86 
Server Apache 
X-Powered-By PHP/5.3.10 
+2

Puede mostrar la estructura de la respuesta – Teneff

+0

Si pudiera 'alert (tempId.length); 'why not' alert (tempId); 'también, también podría usar' console.log (tempId) 'para verificarlo en la consola. – xdazz

+0

Haz un console.log (respuesta) y muéstranos el resultado. Y, ¿por qué estás usando async: falso? No hagas eso, porque las solicitudes sincrónicas pueden bloquear temporalmente el navegador, deshabilitando cualquier acción mientras la solicitud está activa. – Angel

Respuesta

13

hacen un si la condición después convertirlo a cadena primero, luego contar la longitud según sea necesario.

success: function(response) { 
    if(response){  
     alert((response + '').length); 
    } 
} 
+1

esta es una solución realmente buena para mi problema, señor. Gracias :-) – under5hell

+0

De nada. Sir :) – fedmich

7

o convertir su valor (supongo que es un entero) de cadena:

tempId.tostring().length 
+0

esta es una solución más elegante. Pero noté que tienes un error tipográfico allí :-). gracias – under5hell

+0

sí, '.toString()' es la función – kmkmkm

0

tempId.String.length trabajó para mí!

Cuestiones relacionadas