Mojolicious websocket请求查询字符串

时间:2013-01-07 11:07:57

标签: perl mojolicious

我在尝试访问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。

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

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:0)

我怀疑发生了什么,是参数在html请求中传递,然后升级到websocket请求,此时它们不再可用。

正如达人所说,传递Web-Socket数据中的数据。有点像...

var ws = $.websocket("ws://127.0.0.1:3000/websock_action", {
  events: { message: function(e) {}
});
ws.send('message', 1234);