我正在打开与我的服务器的Web套接字连接以生成一些数据。我在我的网页上的模拟终端窗口中显示此数据。我还想在一个新的空白页面的表格中显示这些数据。
我使用Mojolicious和Template Toolkit,我想利用TT2生成此报告。我不想使用javascript生成表格。
在关闭Mojolicious中的Web套接字时,是否可以呈现新页面?
# all done, send report data to javascript and close web socket
$c->on(finish => sub {
my ($c, $code, $reason) = @_;
$c->send({
json => {
command => $cmd,
cli_flag => $cli_flag,
cli_errstr => $cli_errstr,
coord_bc => \%coord_bc,
coord => \%coord,
},
});
Mojo::IOLoop->remove($id);
$c->app->log->debug("WebSocket closed with status $code");
});
换句话说,我可以提出:
$c->stash(\%vars);
$c->render(template => $template);
在finish
事件处理程序中?我怀疑这是不可能的。
我能想到的唯一方法是(1)在javascript中生成表格或(2)将程序流重定向回Mojolicious中的新get路径,让它使用TT2渲染页面。
最好的方法是什么?感谢。