Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   Porblema al recoger datos... (http://www.forosdelweb.com/f127/porblema-recoger-datos-436046/)

lorealvarez 20/10/2006 10:20

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.

MaBoRaK 20/10/2006 12:54

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.

lorealvarez 20/10/2006 13:11

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¿?

MaBoRaK 20/10/2006 14:55

loading.............



pega tu codigo final.


connection closed.

lorealvarez 20/10/2006 17:15

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

MaBoRaK 21/10/2006 09:33

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.


La zona horaria es GMT -6. Ahora son las 10:33.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.