1

我在尝试访问 mojolicious websocket 请求中的查询字符串参数时遇到了意外行为。假设我的请求如下所示:

ws://127.0.0.1:3000/websock_action?item_id=1234

然后在我的 mojo 控制器代码中,我尝试通过以下任何一种方式获取 item_id 的值:

#in mojo controller
my $item_id = $self->param('item_id');
my $item_id = scalar $self->param('item_id');
my $item_id = scalar $self->tx->req->url->query->param('item_id');

问题是我得到的 item_id 通常来自以前的请求,无论我使用哪种技术。我的应用程序目前正在使用 hypnotoad。

mojolicious 中的 websocket 请求是否支持查询字符串参数?有没有更可靠的方法来访问它们?本质上我想知道我是否正在尝试不支持的东西,所以我可以知道问题是否是我的应用程序特有的问题。

提前感谢您的帮助

4

1 回答 1

1

我怀疑正在发生的事情是参数在 html 请求中传递,然后升级为 websocket 请求,此时它们不再可用。

正如达人所说,在Web-Socket数据中传递数据。就像是...

var ws = $.websocket("ws://127.0.0.1:3000/websock_action", {
  events: { message: function(e) {}
});
ws.send('message', 1234);
于 2013-11-27T22:33:00.407 回答