Después de que expire un tiempo, mi cliente quiere que le pidamos al usuario un posible mantenimiento del servidor. Instalé un AbstractAjaxBehavior, pasé la URL al cliente y emití la solicitud ajax de la siguiente manera:
Wicket.Ajax.ajax({u: document._sessionKeepAliveUrl});La URL en el valor allí es:
./.?3-1.IBehaviorListener.0-Un punto de interrupción me dice que se invoca la solicitud del comportamiento. Pero luego aparece el siguiente error en el lado del cliente:
Wicket.Ajax: Wicket.Ajax.Call.failure: Error while parsing response: TypeError: Cannot read properties of null (reading 'getElementsByTagName')Así que la solución en su mayoría funciona. El comportamiento no hace nada con la respuesta. Qué estoy haciendo mal. Tenga en cuenta que este es Wicket 6 (nuestro cliente no quiere pagar por el tiempo de actualización ya que no se ha decidido por nuestro próximo marco).
Debe agregar "wr": false a los atributos:
Wicket.Ajax.ajax({u: document._sessionKeepAliveUrl, "wr": false}); wr significa "es respuesta de wicket" [1]. Le dice a Wicket Ajax/JS si debe intentar interpretar la respuesta de Ajax o no.
De forma predeterminada, Wicket.Ajax.get/post() se ocupa de la respuesta XML generada por AbstractDefaultAjaxBehavior, pero en su caso, usa su padre, AbstractAjaxBehavior, que puede producir cualquier tipo de respuesta, o incluso ninguna respuesta como en su caso.