[英]How do i pass a PHP variable or session through nodeJS to socket.io on connection
我目前正在为我的网站建立一个聊天室,该聊天室使用PHP和MongoDB构建。
当用户登录时,我为用户创建了Session变量,但似乎找不到找到将变量通过nodejs传递给socket.io的方法。
我在聊天html页面中使用它
var socket = io('http://localhost:3000', { query: *I need my php information here* });
Ajax无法达到目的,而且速度太慢。
注意:我知道我可以通过ajax传递消息,但是我更喜欢传递连接。
我在我的server.js中使用此代码,这使其不可能成为.php文件
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
您可以在全局Javascript变量中传递PHP信息。 就像是
<script>var phpInfo = "<%= $yourInfo =>"</script>
(这里<%=
代表<?php echo "" ?>
)
然后,您可以在连接中使用此变量
var socket = io('http://localhost:3000', { query: phpInfo });
这不是最佳方法,但它可行。另一种方法是在某个时候检索信息(然后用户连接或在加载主页时),然后使用window.localStorage.setItem('phpInfo', phpinfo)
将其保存到HTML5 localStorage中window.localStorage.setItem('phpInfo', phpinfo)
,然后使用window.localStorage.getItem('phpInfo')
访问此数据
这是一种更优雅的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.