Возможно ли сделать веб-страницу при закрытии веб-сокета?

Я открываю подключение к моему серверу через веб-сокет для генерации некоторых данных. Я отображаю эти данные в окне симулируемого терминала на моей веб-странице. Я также хотел бы показать эти данные в таблице на новой пустой странице.

Я использую Mojolicious и Template Toolkit, и я хотел бы использовать TT2 для создания этого отчета. Я бы предпочел не создавать таблицы с использованием JavaScript.

Можно ли отобразить новую страницу при закрытии веб-сокета в Mojolicious?

# 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) перенаправить поток программы обратно на новый маршрут get в Mojolicious, чтобы он отображал страницу с использованием TT2.

Каков наилучший способ сделать это? Благодарю.

0 ответов

Другие вопросы по тегам