我在尝试访问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请求中是否支持查询字符串参数?有更可靠的方式来访问它们吗?基本上我想知道我是否正在尝试不支持的东西,所以我可以知道问题是否是我的应用程序特有的。
提前感谢您提供任何帮助
答案 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);