socket.io
を使用してクライアント側でソケット接続を作成すると、データをexpress
アプリに送信する必要があります。しかし、私はこれをしようとすると、active.ejsファイルの参照エラーが発生します。ソケット-idがindex.jsで私のコンソールに記録されているのでしかし、私はこれは、クライアント側のHTML(EJS)であるejsファイルのソケットに接続できません。参照およびio定義されていないエラー
(私はuser_info
データを送信するために必要な場所でもある)、成功したソケットに接続されていますページ - これはuser_info
オブジェクトは上記のhtml(EJS)にcontroller.jsから渡される方法です
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Active</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="http://localhost:4000/socket.io/socket.io.js"></script>
</head>
<body>
<p>
Welcome,
<%= user_info.uri %>
</p>
// REFERENCE ERROR HERE
// changing {query: user_info} to just user_info doesn't help either
<% var socket = io.connect('http://localhost:4000/tune-in', {query: user_info}); %>
</body>
</html>
をactive.ejs active.ejs
app.get('/tune-in', function(req, res){
res.render('active', {user_info: user_data});
});
ファイル
私はにindex.js active.ejs からuser_info
を送信する必要があるここであなたがuser_info
あなたが現在いる方法でアクセスすることはできません関連index.js
var server = app.listen(process.env.PORT || 4000);
console.log("Listening to port 4000...");
var io = socket(server);
io.on('connection', function(socket){
// The below log executes and displays a socket id.
console.log('Made socket connection', socket.id);
});
にこのライン
を変更ライン。 – Kek
Hmそのコードを '' @Kek – Wright