Foros del Web » Programando para Internet » Javascript »

problemas al comparar respuesta ajax con cadenas js

Estas en el tema de problemas al comparar respuesta ajax con cadenas js en el foro de Javascript en Foros del Web. buen dia, ayer publique un problema que tenia para la comparacion de datos con expresiones regulares por problemas de la codificacion, pues lo que hice ...
  #1 (permalink)  
Antiguo 06/06/2013, 03:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 32
Antigüedad: 12 años, 11 meses
Puntos: 1
problemas al comparar respuesta ajax con cadenas js

buen dia, ayer publique un problema que tenia para la comparacion de datos con expresiones regulares por problemas de la codificacion, pues lo que hice fue modificar la codificacion a utf-8 en los archivos, html, servidor, php, mysql.

el problema que tengo ahora es que, por ejemplo ago una peticion ajax para saber si existe un usuario, si existe imprime la palabra correcto y es lo que me regresa el servidor, tomo el ajax.responsetext y lo comparo con la cadena "correcto" antes de realizar los cambios lo comparaba muy bien pero ahora no, ago un alert(ajax.responsetext) y el resultado es "correcto" deberia de darme true en el lado del cliente cuando comparo el ajax.responsetext=="correcto" y nada, me da false cual podria ser el problema?

pd. ya cheke que no tuviera espacios al inicio o al final
  #2 (permalink)  
Antiguo 06/06/2013, 05:13
 
Fecha de Ingreso: mayo-2011
Mensajes: 32
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: problemas al comparar respuesta ajax con cadenas js

al parecer ya lo solucione, la razon por la cual no coincidian el correcto del ajax.resposetext y el correcto de la cadena contra la cual comparaba en js "correcto" es porque al guardar los archivos los guarde como utf-8 y al hacer la peticion ajax, el archivo al cual hacia la peticion regresaba correcto pero con BOM al principio lo unico que hice fue guardar nuevamente todos los documentos en utf-8 sin BOM.


hice pruebas y en js imprimia el primer caracter del responsetext ya se me hacia muy extraño que asi fuera correcto, x, 1 cualquier cadena o caracter el valor del primer caracter era siempre 65279 y es que era el BOM
  #3 (permalink)  
Antiguo 06/06/2013, 08:55
Avatar de wizanchez  
Fecha de Ingreso: junio-2013
Ubicación: bogota
Mensajes: 120
Antigüedad: 10 años, 10 meses
Puntos: 6
Respuesta: problemas al comparar respuesta ajax con cadenas js

- ten en cuenta otra cosa, que depende el explorador te va a servir, no se si eso los exploradores ya lo solucionaron , pero cuando no existia jQuery lo tocaba colocar ajax.resposetext.document para exploradores como Internet explorer
__________________
---------
cubesoftechnology.com
Wizanchez,,
  #4 (permalink)  
Antiguo 20/06/2015, 17:59
 
Fecha de Ingreso: junio-2015
Mensajes: 2
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: problemas al comparar respuesta ajax con cadenas js

Me pasa lo mismo al recibir el resultado con ajax, usadno jquery, me dice que las comparaciones son diferentes, cuando el texto es el mismo.
Lo curioso de todo esto es que me funciona si pongo una url del tipo "nombre.php", pero si le paso un "index.php?var=loquesea&id=loquesea....php, las comparaciones me da false siempre. ¿Alguien sabe, por qué?.

Prove a cambiar la codificación como dices y nada. La cambie abriendo un notepad++, que en aptana studio solo tiene utf8. Pero no creo que sea eso, de lo contrario me fallaría siempre.



Esto en java script:

var correo = $(this).val();
//var idioma=parseInt($('#idioma').val());
var idioma=$('#idioma').val();

var mensaje;
if(correo.length>0 && correo.length<51){
for(var i=0;i<correo.length;i++)
{
if(correo.charAt(i)=="@")
{
chiv=1;

}
}
i f(chiv==1){
$('#btnregistrar').attr('disabled', true);
$('#info').html('<img src="img/bx_loader.gif" alt="cargando" />').fadeOut(1000);
var dataString = 'correo='+correo;

var direccion;
if(idioma==1){
direccion="index.php?accion=registro&id=3&idioma=1 ";
//"check_username_availablity.php",
}
else{
direccion="index.php?accion=registro&id=3&idioma=2 ";
}
//alert(direccion);
var result='<div id="Success">Disponible</div>';
// || (existe=='<div id="Success">available</div>'))
$.ajax({
type: "POST",
url: 'prueba2.php',//*************************SI PONGO UNA URL DEL TIPO index.php?accion=registro&id=3&idioma=1**FALLA
data: dataString,
success: function(data) {
alert(data);
existe=data;
//alert(existe);
//alert(existe==="hola");

//alert(existe.is(result));
if(existe=='<div id="Success">Disponible</div>')//Aqui siempre me da false aunque sean iguales.
{

alert("ento en if success");
okcorreo=1;

//$('#notificacion2').html(okpass);
// $('#notificacion3').html(okcorreo);
if(okpass==1){
$('#btnregistrar').attr('disabled', false);;
}


}

$('#info').fadeIn(1000).html(data);

}
});

}
}//fin if correo

Última edición por neomichael; 20/06/2015 a las 18:08

Etiquetas: ajax, cadenas, html, js, php, respuesta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:17.