PHP - Parar array javascript de Php a javascript por url

   
Vista:

Parar array javascript de Php a javascript por url

Publicado por Alfonsete (4 intervenciones) el 24/08/2011 13:46:42
Hola.
¿Como puedo pasar un array convertido de php a javascript por url desde un php a javascript?
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Parar array javascript de Php a javascript por url

Publicado por alfonsete (4 intervenciones) el 24/08/2011 14:11:08
Perdón, amplio un poco mas.

Concretamente es esta url y me está dando problemas de sintaxis pero no se cual es la razón.. ¿podéis ayudarme?

llamada.html?idcurso=".$idcurso."&idasignatura=".$idasignatura."&myArr=".myArr

El problema es que estoy en un script de php y quiero pasar un array que ya he convertido a array javascript, pero al ponerla en la url (myArr), me presenta errores de sintaxis.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

urlencode y urldecode

Publicado por xve (5520 intervenciones) el 24/08/2011 17:04:28
Hola Alfonsete, para estos casos, php disponde de las funciones urlencode y urldecode

Quedaria algo asi:
1
llamada.html?idcurso=".$idcurso."&idasignatura=".$idasignatura."&myArr=".urlencode(myArr)


Aqui tienes las paginas del manual:
http://php.net/manual/en/function.urlencode.php
http://www.php.net/manual/en/function.urldecode.php

Comentanos si te sirvio, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

urlencode y urldecode

Publicado por alfonsete (4 intervenciones) el 24/08/2011 17:50:00
Muchas gracias XVE.
Estoy empezando y aunque me he leido manuales no me está resultando nada fácil y me estoy liando practicamente con cada cosa que toco.
He modificado la llamada a el javascript, pero cuando entro en el array lo que me presenta es el nombre de este, es decir, 'myArr'.
En este script destino, tengo una función que recoge los distintos parámetros que estoy enviando desde el php, por cierto función que copié de internet. Esta función está demostrado que funciona correctamente porque los otros parámetros me los recoge sin problemas, pero este array no. La pregunta o pregunta es si para un array tengo que hacer algo especial, o si tengo que utilizar la otra función que me has comentado, urldecode() para recibir el parámetro. Si tengo que meter esta función, lo he probado y no consigo ver los valores que estoy enviando en el php.
Muchas gracias por tu tiempo y un saludo.

Pd.Sin duda toda pista que me déis por supuesto que me sirve.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

urlencode y urldecode

Publicado por Juan Manuel Castaneda (50 intervenciones) el 26/08/2011 00:53:26
myArr=".urlencode(print"<script>myArr</script>")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

urlencode y urldecode

Publicado por xve (5520 intervenciones) el 26/08/2011 10:22:28
Hola Juan Manuel, creo que la instrucción que pones es errónea... creo que tendría que ser algo así:
myArr=urlencode("print('<script>myArr</script>')")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

urlencode y urldecode

Publicado por alfonsete (4 intervenciones) el 28/08/2011 23:56:22
Hola.
Estoy poniendo las dos opciones que me comentáis y en el script destino me lo devuelve como indefinido, aunque es muy probable que sea yo quien lo este aplicando mal.
El problema es que al pasarlo existen otros parámetros, en este caso no arrays y que no presentan mayor problema.
Las distintas formas que he probado han sido las siguientes:

llamada.html?idcurso=".$idcurso."&idasignatura=".$idasignatura."&myArr=".urlencode("print('<script>myArr</script>')")

sin la ruptura de linea.

También he definido una variable php y la he igualado a la cadena que me ponéis, dejando en la llamada:
llamada.html?idcurso=".$idcurso."&idasignatura=".$idasignatura."&myArr=".$myArr

Y también sin el $:
llamada.html?idcurso=".$idcurso."&idasignatura=".$idasignatura."&myArr=".myArr


En el javascript, estoy recibiendo los parámetros con esta función, y para el resto de valores me funciona perfectamente:

function inicio(){
var vars=[];
query=window.location.search.substring(1);
q=query.split("&");
for(i=0;i<q.length;i++){
x=q[i].split("=");
k=x[0];
v=x[1];
vars[k]=v;
}
idcurso = vars['idcurso'];
idasignatura = vars['idasignatura'];
idtema = vars['idtema'];
curso = vars['curso'];
asignatura = vars['asignatura'];
tema = vars['tema'];
myArr = vars['myArr'];
indice = vars['indice'];
title1 = curso+' - '+asignatura+' - '+tema;
document.title = unescape(title1);
document.write(myArr[0][0]);
verCabecera();
}


¿Puedo ser yo el que este haciendo algo incorrecto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar