Ver Mensaje Individual
  #9  
Antiguo 11-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A mí se me hace más práctico utilizar parámetros de una función. ¿Porqué? Bueno. Quizás porque cuando he venido utilizando JavaScript lo he hecho mediante PHP, y, bueno, quizás se me hace más sencillo algo como esto:

Código PHP:
echo '<a onclick="Funcion(parametros);" href="#" title="Muestra el total">Total</a>'
Sin embargo, en la práctica el "Funcion(parametros)" es una odisea, a poco que estos parámetros sean unos pocos... uno puede terminar desquiciado con las comillas, por ejemplo.

Ahora mismo acabo de dejar el asunto como sigue: cuatro funciones o métodos; todos ellos incluyen la posibilidad de indicar una función que muestre el progreso de la tarea y otra función que esté atenta al final de la misma.

En los dos primeros se asume el método a utilizar, de modo que no hace falta pasarlo como parámetro, y también se asume que la petición "GET" o "POST" no tendrá "query" alguna, por lo que tampoco hace falta pasar ese parámetro.

Lo siguiente es real y forma parte del ejemplo de la clase/variable/lo que sea:

Código PHP:
<a onclick="Ajax.Get('hora-actual.php', 'destino', ProgresoPeticionHttp, FinalPeticionHttp);" href="#" title="Get">Get</a
Cuatro parámetros: el Script receptor, el ID del elemento destino de la misma, la función para el progreso y la función para el final de la tarea.

Lo mismo para el método "Post", es decir:

Código PHP:
<a onclick="Ajax.Post('hora-actual.php', 'destino', ProgresoPeticionHttp, FinalPeticionHttp);" href="#" title="Get">Get</a
Y quedan dos métodos más, los cuales asumen vuelven a asumir el método a utilizar: se cuenta con un método para "get" y otro para "post". Estos dos métodos, sin embargo, requieren que se especifique la "query" a utilizar. Puede llamárseles así:

Código PHP:
<a onclick="Ajax.GetQuery('clave-valor.php', 'destino', 'clave=valor', ProgresoPeticionHttp, FinalPeticionHttp);" href="#" title="GetQuery">GetQuery</a
Son cinco parámetros, pero, en fin, en menos de momento no he sabido dejarlo. He quitado del medio los "Get" y los "Post" que únicamente tenían dos parámetros: el Script de la petición y el ID del elemento destino, puesto que dejaban fuera el progreso y el final de la tarea, y esto no creo que en una aplicación "real" tenga mucho sentido.

Respecto de la notación que puedes ver Román... yo no tengo mucha idea de JavaScript, no nos vamos a engañar, sin embargo, en algún sitio la ví y comenzé a utilizarla... comprendo que tú usas otra que también me consta que se utiliza... y que yo no uso porque me parece más liosa, sin duda por mi ignorancia.

PD. El ejemplo de todo esto sigue pudiéndose ver en: http://dec.clubdelphi.com/ajax.class.js/

Notar que el progreso de la tarea en realidad se fuerza usando la función "sleep" de PHP. En realidad las peticiones son tan sencillas y ocupan tan poco que no requieren prácticamente tiempo, pero, entonces no se vería "el progreso" tal como se vería en situaciones más reales.

PD2: Me dio por buscar si había forma de pasar un Array de PHP a JavaScript... por aquello de pasar un parámetro únicamente que los contuviera a todos... pero, aunque ví que había algo ya por ahí no quise ir más allá. Creo que con lo que hay ahora mismo podrían ya hacerse cosas...
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 11-01-2007 a las 01:32:29.
Responder Con Cita