<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://php.apsique.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Php y otras yerbas - RPC vía HTTP o Como recoger información desde el servidor sin recargar la página. - Comentarios</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina</link>
 <description>Comentarios para &quot;RPC vía HTTP o Como recoger información desde el servidor sin recargar la página.&quot;</description>
 <language>es</language>
<item>
 <title>Chale que le cuentas un (/·&amp;</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-50228</link>
 <description>&lt;p&gt;Chale que le cuentas un (/·&amp;amp;/%·&amp;amp;%&quot;/&amp;amp;&quot; tutorialsillo&lt;/p&gt;
</description>
 <pubDate>Wed, 08 Nov 2006 15:30:11 -0800</pubDate>
 <dc:creator>Perijilillo Desconocido</dc:creator>
 <guid isPermaLink="false">comment 50228 at http://php.apsique.com</guid>
</item>
<item>
 <title>jsrs con un select multiple</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-47887</link>
 <description>&lt;p&gt;Hola, uso jsrs desde hace tiempo y mas o menos voy solucionando todos los problemas que surgen, peor ahora tengo uno quen consigo solucionar.&lt;/p&gt;
&lt;p&gt;He conseguido hacer un select multiple con jsrs, pero lo que ahora no consigo es que lo recupere con jsrs. Al pasarle los valores que deben estar seleccionados solo me coge el ultimo de la lista que le paso.&lt;/p&gt;
&lt;p&gt;Gracias.&lt;/p&gt;
</description>
 <pubDate>Wed, 26 Jul 2006 11:05:16 -0700</pubDate>
 <dc:creator>vitogq</dc:creator>
 <guid isPermaLink="false">comment 47887 at http://php.apsique.com</guid>
</item>
<item>
 <title>problema al enviar mail</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-18661</link>
 <description>&lt;p&gt;estoy haciendo una pagina donde envia un mail a una direccion (siempre la misma) el problema es que cuando apreto el boton (que es una imagen) de enviar llama a un archivo php y la pagina (que contiene el formulario desaparece del frame que la contenia dejandolo en blanco.&lt;/p&gt;
</description>
 <pubDate>Tue, 28 Feb 2006 10:00:00 -0800</pubDate>
 <dc:creator>Joaquin</dc:creator>
 <guid isPermaLink="false">comment 18661 at http://php.apsique.com</guid>
</item>
<item>
 <title>Basado en HttpRequest</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-16563</link>
 <description>&lt;p&gt;Ajax está basado en el objeto HttpRequest. Cuando hablo de RPC-HTTP, hablo de un concepto general que engloba a todas las prácticas relacionadas con enviar y recibir información del servidor sin recargar la página.&lt;/p&gt;
</description>
 <pubDate>Wed, 11 Jan 2006 08:13:07 -0800</pubDate>
 <dc:creator>clbustos</dc:creator>
 <guid isPermaLink="false">comment 16563 at http://php.apsique.com</guid>
</item>
<item>
 <title>Respecto a los modos citados</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-16499</link>
 <description>&lt;p&gt;Respecto a los modos citados de RPC-HTTP, a cual de esos corresponde AJAX? O AJAY es uno aparte? Yo hasta ahora siempre he usado AJAX y funciona perfecto. Lo unico k no he encontrado es como subir una imagen (archivo en gral)usando AJAX, pero eso lo solucione con un iFrame (no muy elegante).&lt;/p&gt;
&lt;p&gt;Saludos!&lt;/p&gt;
</description>
 <pubDate>Wed, 11 Jan 2006 00:36:41 -0800</pubDate>
 <dc:creator>Mono</dc:creator>
 <guid isPermaLink="false">comment 16499 at http://php.apsique.com</guid>
</item>
<item>
 <title>Ejemplo de Web Services PHP + SOAP.</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-15777</link>
 <description>&lt;p&gt;Hola a todos!!!... bueno tengo un problema y no se si me podrian apoyar en la solucion de este, necesito un ejemplo sencillo de un Web Service PHP (tanto servidor y cliente ), estube revisando articulos referentes al tema como este :http://www.xml.com/pub/a/ws/2004/03/24/phpws.html?page=2  pero al parecer algo me falta hacer; quiero reproducir el ejemplo q se ve en la imagen del explorador de XP donde dice CanadaTaxCalculator, el Calculateontariotax no me sale; y no se porque ?;  si tubieses algun tiempo para enviarme otro ejemplo similar o revisar porq no me sale el&lt;br /&gt;
link Calculateontariotax te lo agradeceria mucho.&lt;/p&gt;
&lt;p&gt;Saludos.&lt;br /&gt;
Alex&lt;/p&gt;
</description>
 <pubDate>Mon, 09 Jan 2006 13:08:10 -0800</pubDate>
 <dc:creator>amauricio2005</dc:creator>
 <guid isPermaLink="false">comment 15777 at http://php.apsique.com</guid>
</item>
<item>
 <title>Bueno, claro...</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-15505</link>
 <description>&lt;p&gt;Sí, recrear una tabla es un tanto complicado, pero prueba a usar el atributo innerHTML.... en la forma&lt;br /&gt;
document.getElementById(&quot;mitabla&quot;).innerHTML+=&quot;Nueva fila&quot;&lt;br /&gt;
Sirve tanto para generar la tabla como cualquier otro elemento.&lt;br /&gt;
Sobre lo del checkboz, no me quedó muy claro para donde iba la cosa....&lt;/p&gt;
</description>
 <pubDate>Sun, 08 Jan 2006 01:39:14 -0800</pubDate>
 <dc:creator>clbustos</dc:creator>
 <guid isPermaLink="false">comment 15505 at http://php.apsique.com</guid>
</item>
<item>
 <title>JSRS Funciona bien pero..................................</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-15406</link>
 <description>&lt;p&gt;JSRS me parece una buena solucion sin embargo encontre una dificultad que se las menciono: ejecuto mi proceso en el servidor y me traigo gran cantidad de datos para ordenarlos y mostrarlos en una tabla que es lo mas comun, eso en php no es problema recargo la pagina y listo,pero si quisiera implementarlo con JSRS para no recargar la pagina, tendria que almacenar todos esos datos en el lado del cliente para despues ordenarlos y colocarlos en la tabla, es decir borrar las filas de la tabla y volver a crearlas, trabajo un poco complicado usando DOM ,pero eso no es todo y si por ejemplo parte de esos datos son otros objetos como  checkbox, ¿como los almacenaria en el lado del cliente ?.&lt;br /&gt;
Toda respuesta sera bienvenida.&lt;br /&gt;
SALUDOS&lt;/p&gt;
</description>
 <pubDate>Fri, 06 Jan 2006 23:41:22 -0800</pubDate>
 <dc:creator>betolas</dc:creator>
 <guid isPermaLink="false">comment 15406 at http://php.apsique.com</guid>
</item>
<item>
 <title>y el tutorial?</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-14465</link>
 <description>&lt;p&gt;oye y si hiciste el tutorial...&lt;br /&gt;
porke la verdad para nosotros los novatos&lt;br /&gt;
es dificil entender esto...&lt;br /&gt;
salu2&lt;/p&gt;
</description>
 <pubDate>Tue, 15 Nov 2005 11:01:14 -0800</pubDate>
 <dc:creator>Brianda</dc:creator>
 <guid isPermaLink="false">comment 14465 at http://php.apsique.com</guid>
</item>
<item>
 <title>y el tutorial?</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-14464</link>
 <description>&lt;p&gt;oye y si hiciste el tutorial...&lt;br /&gt;
porke la verdad para nosotros los novatos&lt;br /&gt;
es dificil entender esto...&lt;br /&gt;
salu2&lt;/p&gt;
</description>
 <pubDate>Tue, 15 Nov 2005 11:01:02 -0800</pubDate>
 <dc:creator>Brianda</dc:creator>
 <guid isPermaLink="false">comment 14464 at http://php.apsique.com</guid>
</item>
<item>
 <title>y el tutorial?</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-14463</link>
 <description>&lt;p&gt;oye y si hiciste el tutorial...&lt;br /&gt;
porke la verdad para nosotros los novatos&lt;br /&gt;
es dificil entender esto...&lt;br /&gt;
salu2&lt;/p&gt;
</description>
 <pubDate>Tue, 15 Nov 2005 11:00:57 -0800</pubDate>
 <dc:creator>Brianda</dc:creator>
 <guid isPermaLink="false">comment 14463 at http://php.apsique.com</guid>
</item>
<item>
 <title>y el tutorial?</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-14462</link>
 <description>&lt;p&gt;oye y si hiciste el tutorial...&lt;br /&gt;
porke la verdad para nosotros los novatos&lt;br /&gt;
es dificil entender esto...&lt;br /&gt;
salu2&lt;/p&gt;
</description>
 <pubDate>Tue, 15 Nov 2005 11:00:52 -0800</pubDate>
 <dc:creator>Brianda</dc:creator>
 <guid isPermaLink="false">comment 14462 at http://php.apsique.com</guid>
</item>
<item>
 <title>y el tutorial?</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-14461</link>
 <description>&lt;p&gt;oye y si hiciste el tutorial...&lt;br /&gt;
porke la verdad para nosotros los novatos&lt;br /&gt;
es dificil entender esto...&lt;br /&gt;
salu2&lt;/p&gt;
</description>
 <pubDate>Tue, 15 Nov 2005 11:00:27 -0800</pubDate>
 <dc:creator>Brianda</dc:creator>
 <guid isPermaLink="false">comment 14461 at http://php.apsique.com</guid>
</item>
<item>
 <title>Y, el código?</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-3814</link>
 <description>&lt;p&gt;Pero hombre, que cuesta hacer una páginita y mostrarnos tu solución. Ayudarías a mucha gente y te harías famoso :)&lt;/p&gt;
</description>
 <pubDate>Fri, 10 Jun 2005 14:06:00 -0700</pubDate>
 <dc:creator>clbustos</dc:creator>
 <guid isPermaLink="false">comment 3814 at http://php.apsique.com</guid>
</item>
<item>
 <title>je je je, tengo mi propia versión</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comment-3789</link>
 <description>&lt;p&gt;Hola a todos, resulta que como comentan, yo tuve la misma pregunta, así que anduve buscando información, y diseñe mi propia solución, para ello hice uso de dom y otras cosillas, y hasta ahora me ha dado resultado, e incluso mi solución es un poco más rápida del XmlHttp, actualmente lo he testeado en mozilla, firefox,opera, konqueror e ie y jala bastante bien...&lt;/p&gt;
&lt;p&gt;No es por nada, pero creo que muchas veces es mejor buscar una solución propia, pues así uno sabe como está implementada y puede hacer ajustes que permitan optimizarla....&lt;/p&gt;
&lt;p&gt;En lo personal creo que el código de Javascript Remote Scripting (JSRS) es un poco complicado de entender....bueno para mi lo fue en mis inicios&lt;/p&gt;
&lt;p&gt;bueno...es solo mi opinión...gracias....a todos...&lt;/p&gt;
</description>
 <pubDate>Fri, 10 Jun 2005 10:41:07 -0700</pubDate>
 <dc:creator>mandrake</dc:creator>
 <guid isPermaLink="false">comment 3789 at http://php.apsique.com</guid>
</item>
<item>
 <title>RPC vía HTTP o Como recoger información desde el servidor sin recargar la página.</title>
 <link>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina</link>
 <description>&lt;h4&gt;La pregunta típica&lt;/h4&gt;
&lt;p&gt;Una de las preguntas más típicas que hace el programador novato (y a veces no tanto) en las listas de PHP es cómo recoger información desde el servidor sin recargar la página.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;b&gt;Ejemplo :&lt;/b&gt; Un cuadro de lista ofrece una lista de países. Al seleccionar uno, un segundo cuadro de lista se actuliza y muestra las distintas regiones del país, a partir de una consulta en la base de datos, sin cargar una nueva página.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Para los que trabajan en desarrollo web, esto es una pregunta delicada.&lt;br /&gt;
En primer lugar, cualquier acción que no sea pedir una página(si, mandar un formulario es pedir una página, pero por POST) requiere el uso de un lenguaje de programación en el cliente. Entonces, estamos obligados a usar JS en alguna de sus formas.&lt;br /&gt;
En segundo lugar, y aquí lo complicado, la única forma estándar para recoger información de un servidor desde un navegador es la petición completa de la página. Sólo en forma reciente se ha iniciado el proceso de estandarización de los métodos de carga dinámica, con la especificación &lt;a href=&#039;http://www.w3.org/TR/DOM-Level-3-LS/&#039;&gt;Document Object Model (DOM) Level 3 Load and Save Specification&lt;/a&gt; de la W3C, el cual tiene su origen en la implimentación del objeto HTTPRequest de la Microsoft, la cual ha sido adoptada por Mozilla y otros navegadores (más información en &lt;a href=&#039;http://jibbering.com/2002/4/httprequest.html&#039;&gt;Using the XML HTTP Request object&lt;/a&gt;). Entonces, la respuesta &#039;correcta&#039; sería aprender la especificación y utilizar este objeto, que posiblemente pasará a ser el estándar de facto en un tiempo más.&lt;br /&gt;
Pero como el pan nos lo ganamos hoy en día, es necesario encontrar un método que nos permita hacer esto AHORA. Dijimos que la única manera de recoger información es a través de una carga de página. Es entonces donde podemos ocupar un pequeño truco: los marcos o &lt;b&gt;frames&lt;/b&gt;. Pero antes de esto, es bueno hacer un poco de discusión teórica previa, para después retomar lo práctico&lt;/p&gt;
&lt;h4&gt;Que m#/&amp;amp;·%# es RPC&lt;/h4&gt;
&lt;p&gt;Según la &lt;a href=&#039;http://en.wikipedia.org/wiki/RPC&#039;&gt;Wikipedia&lt;/a&gt;, una &lt;b&gt;llamada a procedimiento remoto&lt;/b&gt; o RPC, por sus siglas en inglés, es un &lt;quote&gt;protocolo que permite a un programa en un computador utilizar el código a ser ejecutado en otra máquina sin requerir que se programe explícitamente para este hecho. &lt;/quote&gt;&lt;br /&gt;
En otras palabras, un RPC nos permite utilizar una función de PHP, JavaScript, Ruby, Java o lo que sea que de forma más o menos &#039;mágica&#039;, ejecuta cierto código en otra máquina y nos devuelve un resultado, sin que tengamos que preocuparnos de cual es el computador a cual nos conectamos o en qué lenguaje se programo la función que da la respuesta.&lt;br /&gt;
Con esta información a mano, puedo explicar el &#039;chiste&#039; del título. Si digo RPC vía HTTP, me refiero a que Javascript va a utilizar la respuesta que nos de el servidor (que puede funcionar con Perl, PHP, JSP o lo que sea), a través de una o más funciones, utilizando el querido protocolo HTTP, que no ni más ni menos que el protocolo de la internet. &lt;/p&gt;
&lt;h4&gt;Implementación&lt;/h4&gt;
&lt;p&gt;Volvamos a la tierra. Ya que no tenemos todavía un método estándar para llamar de forma dinámica nuevo contenido, debemos hacerlo &#039;a la mala&#039;. Cómo les decía, la forma que se ha hecho más popular es crear un frame o iframe oculto, el cual cargue una nueva página, la cual nos devuelve la información necesaria.&lt;br /&gt;
Si bien es simple en teoría, las diferencias en la implementación del modelo DOM y de Javascript para los distintos navegadores y sus versiones hace que sea un tanto complicado el crear una implementación que sea &#039;todo terreno&#039;.&lt;br /&gt;
Recientemente, en &lt;a href=&#039;http://phplens.com/phpeverywhere/&#039;&gt;PHP Everywhere&lt;/a&gt;, John Lim en su artículo &lt;a href=&#039;http://phplens.com/phpeverywhere/?q=node/view/130&amp;amp;PHPSESSID=bfe84e3c8b27a91cc160dc973e9d95fd&#039;&gt;Building Rich DHTML User Interfaces Revisited&lt;/a&gt; lista algunas herramientas para crear aplicaciones DHTML, entre las cuales se nombran las herramientas para hacer RPC-HTTP.&lt;br /&gt;
De todos modos, citaré las que encuentro más relevantes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#039;http://www.ashleyit.com/rs/&#039;&gt;Javascript Remote Scripting (JSRS)&lt;/a&gt;: Una aplicación de larga data, con soporte para Win9x, WinNT/2000, WinXP, Unix/Linux/BSD y Mac con IE4+, NS4.x, NS6.x, Mozilla, Opera7 y Galeon. En el lado del servidor tiene soporte para ASP, ColdFusion, PerlCGI, PHP,Python, y JSP(servlet). Es la que yo utilizo y es mi recomendada hasta que aparezca algo mejor! Si a alguien le interesa, puedo armar un pequeño tutorial para mostrar su uso&lt;/li&gt;
&lt;li&gt;&lt;a href=&#039;http://msdn.microsoft.com/library/default.asp?url=/workshop/author/behaviors/reference/reference.asp&#039;&gt;Internet Explorer:download Behavior&lt;/a&gt;: Ofrece una implementación muy similar de lo que hace JSRS. Si van a trabajar exclusivamente con Internet Explorer y no quieren complicarse la vida con XML y esas cosas, pueden echarle una miradita.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#039;http://msdn.microsoft.com/library/default.asp?url=/workshop/author/webservice/webservice_node_entry.asp&#039;&gt;Webservice Behaviour&lt;/a&gt;: Si se quieren complicar un poco más la vida, si les piden que se contacten con un servicio web en SOAP desde IE, pueden usar el comportamiento Webservice.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#039;http://www.xmlrpc.com/&#039;&gt;XML-RPC&lt;/a&gt;: Una especificación para usar XML y HTTP para hacer RPC. Si bien tiene una &lt;a href=&#039;http://xmlrpc.scripting.com/directory/1568/implementations&#039;&gt;impresionante&lt;/a&gt; lista de implementaciones en distintos lenguajes, lo verboso del XML hace que la más simple llamada ocupe un monto alto de ancho de banda y el control de errores que posee es bastante malo. Lo utilice para hacer RPC entre dos servidores con PHP y funcionó, de todos modos, relativamente bien. No lo recomendaría si del lado del cliente utilizan sólo Js.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#039;http://jibbering.com/2002/4/httprequest.html&#039;&gt;HTTP Request&lt;/a&gt;: Ya les puse este link, no es cierto? Es un buen candidato para ser el estándar de llamada RPC por JavaScript. Si alguien lo prueba, que avise&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Conclusión&lt;/h4&gt;
&lt;p&gt;Existen variadas formas de buscar información desde el servidor sin recargar la página en los navegadores; no existe un estándar aún, pero el uso del objeto HTTPRequest es prometedor.La implementación más eficiente y madura, por el momento, es &lt;a href=&#039;http://www.ashleyit.com/rs/&#039;&gt;Jsrs&lt;/a&gt;.&lt;br /&gt;
Agradecimientos a &lt;a href=&#039;http://www.argonave.com/francotirador&#039;&gt;Christian&lt;/a&gt; por la idea de poner un ejemplo y un par de correcciones anglio-fílicas y a &lt;a href=&#039;http://www.logicanova.com&#039;&gt;Jordi&lt;/a&gt; por el interés en el tema.&lt;/p&gt;
</description>
 <comments>http://php.apsique.com/contenido/rpc_vi_http_o_recoger_informacion_servidor_sin_recargar_pagina#comments</comments>
 <category domain="http://php.apsique.com/lenguajes/javascript">JavaScript</category>
 <category domain="http://php.apsique.com/categoria/temas_generales/gran_red">La gran Red</category>
 <category domain="http://php.apsique.com/lenguajes/php">PHP</category>
 <pubDate>Tue, 09 Nov 2004 20:19:09 -0800</pubDate>
 <dc:creator>admin</dc:creator>
 <guid isPermaLink="false">106 at http://php.apsique.com</guid>
</item>
</channel>
</rss>
