Javascript Nodejs-套接字连接webapp存在问题

Javascript Nodejs-套接字连接webapp存在问题,javascript,node.js,express,socket.io,Javascript,Node.js,Express,Socket.io,我目前在创建webapp时遇到问题。我们正在创建的所有页面都可以通过一个函数查看,该函数获取post数据并将其显示在页面上。我遇到的问题是,加载内容时,相应的JS for sockets不会执行 我相信这是因为我们使用: socket.on("connect") connect事件只会触发一次,但我不确定如何修复此问题 下面是我目前使用的JS的一个例子 function runJs(){ var url = document.location.pathname.toLowerCase(

我目前在创建webapp时遇到问题。我们正在创建的所有页面都可以通过一个函数查看,该函数获取post数据并将其显示在页面上。我遇到的问题是,加载内容时,相应的JS for sockets不会执行

我相信这是因为我们使用:

socket.on("connect")
connect事件只会触发一次,但我不确定如何修复此问题

下面是我目前使用的JS的一个例子

function runJs(){
    var url = document.location.pathname.toLowerCase();
    if(url == '/account/create'){
    var socket = io();

    //once the socket connects, make calls
    socket.on("connect", function(){=
        socket.on("accountCreated", function(data){
            if(typeof data.data.error !== "undefined"){
                jQuery("#error").text(data.data.error);
            }
            else{
                //account creation was successful and we're logged in.
                //redirect to the home page
                window.location.href = "/";
            }
        });
    });
}
当执行另一个函数时(不在这里发布,因为这并不重要),它会更新HTML页面并运行上面看到的runJs()函数。我已经通过console.log确认函数确实被调用,但是socket.on中的代码不会执行,除非重新加载页面


有人知道我如何解决这个问题吗?

socket.on侦听事件,socket.emit发出事件。您能否显示服务器端代码以查看事件是否得到处理?您是否在服务器端发出
accountCreated
。除此之外,这里不需要使用
socket.on(“connect”、\uuu)
,您可以直接使用
socket.on(“accountCreated”、\uuu)
。但是为什么不在
io()
@HimaniAgrawal中传递url呢?服务器端的代码并不重要,因为它可以正确执行。问题出在前端的插座上,但我不知道该换什么。此代码示例也应该有一个emit,但问题仍然存在。@Nivesh-io()不要求传递URL才能正常工作。至于需要连接,这在我复制的代码中是正确的。它应该有一个emit,它需要一个套接字存在。