【问题标题】:Why don't my Javascript prompts show up from my Express.IO .ejs file?为什么我的 Javascript 提示没有从我的 Express.IO .ejs 文件中显示?
【发布时间】:2014-06-29 07:51:44
【问题描述】:

我对 JavaScript 和后来的 Node + Express.IO 比较陌生。我正在尝试构建一个页面,该页面将实时跟踪不同“用户”与服务器建立的连接。因此,当我包含 io 模块中的所有功能时,我的 prompt() 和 alert 不再起作用。我正在从我的终端运行nodemon app.js,并且当我这样做时没有出现编译错误。当我删除所有 io 函数时,警报和提示再次起作用。

这些是我的 index.ejs <body> 标签的内容:

<body>
<h1>Chatroom</h1>
<script>
    alert("Hello!");
    var name = prompt("What is your name?");
    io.connect();
    io.emit.('got_a_new_user', {name: name});  
    io.on('new_user', function(data) {
    //render this new info in the HTML
         var users = data.users;
         console.log(users);
             if (users != undefined) {
                console.log("\n\n\n" + users);
             // if users is defined, append the new division containing the username
         }
    });
    io.on('disconnect_user', function(data) {
    var users = data.users;
             if (users != undefined) {
                 // If users is defined remove the corresponding HTML element
             }       
    });
</script>
<div id="container">
</div>
</body>

任何帮助将不胜感激。

【问题讨论】:

  • 嗨,你能展示一下你是如何包含 io 模块的吗?它应该是这样的:&lt;script src="/socket.io/socket.io.js" type="text/javascript"&gt;&lt;/script&gt; 其中 src 对应于您服务器的文件夹结构。您也不能执行io.on(...),而是需要执行以下操作:var socket = io.connect,然后是socket.on(...)
  • 看来我的问题很琐碎,在 emit() 函数之后有一个额外的时间。 'io.emit.('got_a_new_user', {name: name});'应该是 'io.emit('got_a_new_user', {name: name});'。感谢所有回复的人。

标签: javascript node.js express socket.io express.io


【解决方案1】:

为UKatz添加的评论添加示例,

您必须从客户端连接socket.io,如下所示,

index.ejs

<script src="http://ip:port/socket.io/socket.io.js"></script>

<script type="text/javascript">
     var socket = io.connect('http://ip:port');
     socket.emit('got_a_new_user', {name: name});  
</script>

查看socket.io 文档以了解如何将 socket.io 与客户端连接。

【讨论】:

    猜你喜欢
    • 2017-05-28
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多