Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 20-oct-2006, 10:20   #1 (permalink)
lorealvarez ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2006
Mensajes: 16
Sonrisa Porblema al recoger datos...

Hola buenas, tengo una pequeña aplicacion donde uso AJAX, funciona todo perfectamente, la historia es que al final cuando hago urlencoded los datos a representar, NO ME SALEN LOS ESPCIOS ENTRE LAS PALABRAS.
Les comento lo que hago a ver si alguien me echa una mano:

El script AJAX es el siguiente:
<SCRIPT TYPE="text/javascript">
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest)
{
XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function pedDatos(fuenteDatos, divID,parametros)
{
if(XMLHttpRequestObject)
{
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("POST", fuenteDatos);
XMLHttpRequestObject.setRequestHeader('content-type','application/x-www-form-urlencoded');
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
txt=unescape(XMLHttpRequestObject.responseText);
txt2=txt.replace(/\+/gi,"");
obj.innerHTML = txt2;
}
}
XMLHttpRequestObject.send(parametros);
}
}
</script>

En la página donde recojolos datos, simplemente hago una peticion PHP y al resultado le hago urlencoded($variable)

El problema es que en dichas peticiones no aparecen los espacios entre las palabras ni signo '+' ni nada, todo seguido aparece.
lorealvarez está desconectado   Responder Citando
Antiguo 20-oct-2006, 12:54   #2 (permalink)
MaBoRaK llegará a ser famoso muy prontoMaBoRaK llegará a ser famoso muy pronto
 
Avatar de MaBoRaK
 
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 1.767
Enviar un mensaje por MSN a MaBoRaK
loading.............



no uses UNESCAPE, usa na de estas funciona para decodificar la url que fue creada con urlencode.


decodeURI(“encodedURI”)
decodeURIComponent(“encodedURIComponent”)
encodeURI(“URIString”)
encodeURIComponent(“URIComponentString”)

Código:
 txt=decodeURI(XMLHttpRequestObject.responseText);

connection closed.
__________________
maborak@maborak.com
http://www.maborak.com
Maborak technologies
MaBoRaK está desconectado   Responder Citando
Antiguo 20-oct-2006, 13:11   #3 (permalink)
lorealvarez ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2006
Mensajes: 16
Sal eun error de pagina

Gracias por antenderme, el problema. cambie el codigo por que me dijo, y me sale el siguiente error en la página:

El identificado URI no tiene una codificacion adecuada, tengo que cambiar algo mas que la funcion unescape¿?
lorealvarez está desconectado   Responder Citando
Antiguo 20-oct-2006, 14:55   #4 (permalink)
MaBoRaK llegará a ser famoso muy prontoMaBoRaK llegará a ser famoso muy pronto
 
Avatar de MaBoRaK
 
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 1.767
Enviar un mensaje por MSN a MaBoRaK
loading.............



pega tu codigo final.


connection closed.
__________________
maborak@maborak.com
http://www.maborak.com
Maborak technologies
MaBoRaK está desconectado   Responder Citando
Antiguo 20-oct-2006, 17:15   #5 (permalink)
lorealvarez ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2006
Mensajes: 16
a ver que es lo que sigo haciendo mal...

ahi va el script:
<SCRIPT TYPE="text/javascript">
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest)
{
XMLHttpRequestObject = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function pedDatos(fuenteDatos, divID,parametros)
{
if(XMLHttpRequestObject)
{
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("POST", fuenteDatos);
XMLHttpRequestObject.setRequestHeader('content-type','application/x-www-form-urlencoded');
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
txt=decodeURI(XMLHttpRequestObject.responseText); txt2=txt.replace(/\+/gi,"");
obj.innerHTML = txt2;
}
}
XMLHttpRequestObject.send(parametros);
}
}
</script>

En la otra pagina sigo haciendo el urlencode de la variable PHP que necesito sacar con sus espacios
lorealvarez está desconectado   Responder Citando
Antiguo 21-oct-2006, 09:33   #6 (permalink)
MaBoRaK llegará a ser famoso muy prontoMaBoRaK llegará a ser famoso muy pronto
 
Avatar de MaBoRaK
 
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 1.767
Enviar un mensaje por MSN a MaBoRaK
loading...........


bueno.

1. instala Mozilla Firefox, www.mozilla.org
2. instala esta extension FIREBUG : https://addons.mozilla.org/firefox/1843/

y bueno a partir de ahí puedes monitorear lo que envias o recibes con el objeto xmlhttprequest.

Talvez tu cadena no está codificada como dices.


connection closed.
__________________
maborak@maborak.com
http://www.maborak.com
Maborak technologies
MaBoRaK está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 05:27.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93