Node.jsでSocket.IOを使用しています。それでは、私はSocket
(すなわちsocket.socket
)JavaScriptオブジェクトの動作が混乱する
Socket
$events: Object
...
sessionid: "1549988601982716407"
は再び、正常に動作を見れば
SocketNamespace
$events: Object
...
socket: Socket
:
私はこのようになりますオブジェクトsocket
を持っています。
しかし、私はちょうどsessionid
を返すようにしたいので、私は私がobject
を得るsocket.socket
ためtypeof
をすれば、私は私が手socket.socket.sessionid
...
undefined
を使用していますが、socket.socket.sessionid
のために、私はちょうどundefined
を取得する場合。
編集:ここは私のコードです:
ブラウザ:
$(function() {
$.getScript('http://localhost:8080/socket.io/socket.io.js', function() {
var socket = io.connect('http://localhost:8080');
console.log(socket.socket.sessionid);
});
});
アプリケーション:
var io = require('socket.io').listen(8080);
io.sockets.on('connection', function (socket) {
});
編集2:その他のデータ:
1つのログの代わりに、これで置き換えます。
console.log(typeof(socket));
console.log(typeof(socket.socket));
console.log(typeof(socket.socket.sessionid));
戻り値:期待
object
object
undefined
:
object
object
string
編集3:*スクリーンショット
Screenshot of console http://f.cl.ly/items/1p423t0q3F3G1D2Z470W/sockets.png
編集4
これ、奇妙な、動作します。
var x;
for (x in socket.socket)
{
if (x == 'sessionid') {
console.log(socket.socket[x]);
}
}
*** ***は擬似コードを引用していません。あなたの問題はおそらくあなたが使用している*実際のコードになります。実際のコードを引用しないと、私たちはお手伝いできません。 –
私はコードを追加しましたが、それは標準的なものですが、コードでページを埋める必要はありませんでした。 –
元のサンプルでは 'sessionid'を参照していますが、編集したコードで' session_id'を挙げています。これが問題だろうか?それは 'sessionid'でしょうか? – Treffynnon