El uso de dicho método es algo confuso, debido fundamentalmente a que este método “no hace” sino que “escribe”. Esto quiere decir que cuando el método se invoca lo que calcula es la sentencia javascript necesaria para hacer una invocación Ajax.
Esto es así porque dicho método es un método PHP, es decir, de servidor y las invocaciones Ajax solo tienen sentido en cliente, sin embargo cuando queremos que la llamada tenga en cuenta datos de servidor, o simplemente no queremos adentrarnos en los conocimientos necesarios para hacer esto utilizando tecnología se cliente, por ejemplo JQuery, entonces es perfecto.
Demo
Para ilustrar este concepto vamos a hacer una pequeña demo de una aplicación que actualice un edit con el contenido de otro utilizando Ajax.
1 Para empezar en HTML5 Builder creemos una nueva aplicación de servidor:
2 En el formulario principal depositemos dos edit y un button:
3 Establezcamos las propiedades ButtonType del Button a btNormal y UseAjax del formulario a true:
4 En la vista de código crear el siguiente método
function Actualizar($sender, $params)
{
$this->Edit2->Text = $params[0];
}
5 Asociar al evento javascript del Button OnClick el siguiente código:
function Button1JSClick($sender, $params)
{
echo “params = [ $(‘#Edit1’).val() ];”;
echo $this->Edit1->ajaxCall(“Actualizar”);
?>
//begin js
//end
}
6 Ejecutar y probar
Conclusiones
Como se puede comprobar la manera de pasar los parámetros es bastante peculiar, es necesario inyectar una instrucción javascript que introduzca el valor del edit en un array llamado params. La razón es bien simple cuando la instrucción echo del AjaxCall se ejecute inyectará en la página la siguiente instrucción javascript:
xajax_ajaxProcess(‘Page1′,’Edit1′,params,’Actualizar’,xajax.getFormValues(‘Page1’),[]);
Como se puede ver esta instrucción está enviando una variable llamada params que es la que nosotros cargamos.
Es importante reseñar también en el método php AjaxCall tiene también un segundo parámetro $phpParameters, que no hay que confundir con los parámetros anteriores ya que no son lo mismo.
Artículos Relacionados
Consigue tus licencias Delphi y C++Builder en las mejores condiciones. Te ofrecemos el mejor precio del mercado y el valor añadido para que incorpores sus ventajas lo antes posible.
19/10/2023
Power BI, algunas novedades y DAX
Vamos a repasar algunas de las novedades más llamativas de los últimos meses, y por el otro, vamos a ver algunos ejemplos de utilización de DAX
03/05/2023
Los Frames son una gran herramienta para mantener la coherencia visual en las aplicaciones al tiempo que reaprovechamos código...
01/05/2023
Markdown con Delphi y más allá
En este Webminar mostraremos el uso de Markdown en Delphi, y algunas de las herramientas más destacadas para aprovecharlo a fondo.
09/01/2023