2013-01-07 115 views
0

我在嘗試訪問mojolicious websocket請求中的查詢字符串參數時遇到意外的行爲。說我的要求是這樣的:Mojolicious websocket請求查詢字符串

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

然後在我的魔力控制器代碼我嘗試並獲得在以下任一方式的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請求上是否支持查詢字符串參數?有沒有更可靠的方法來訪問它們?基本上我想知道如果我正在嘗試不支持的東西,所以我可以知道問題是否是特定於我的應用的東西。

預先感謝任何幫助

+0

我一直打開websocket到一個基本的URL併發送item_id通過頻道的請求。我不確定上述是否有效。 –

回答

0

我懷疑發生了什麼,是該參數在HTML請求,然後將其升級到WebSocket請求,而此時,他們不再可用通過。如Daren所說,將數據傳遞給Web-Socket數據。像...

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