Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点JS服务HTML页面Express_Javascript_Html_Node.js_Express - Fatal编程技术网

Javascript 节点JS服务HTML页面Express

Javascript 节点JS服务HTML页面Express,javascript,html,node.js,express,Javascript,Html,Node.js,Express,我有一个多人游戏,其中一个服务器连接两个客户端,让它们相互对抗。它工作得很好。但是,现在我想添加一个欢迎页面,在那里他们添加用户名。我需要将此用户名发送到服务器。然而,问题是,当加载欢迎页面时,它会与服务器建立连接(这很好)。但是,当我想使用 location.href = "index.html" 它不起作用。事实上,它会断开与服务器的连接,而不会重新连接。如何在播放器点击按钮后加载多个文件?如何将这些文件保存在同一个“客户端”实例下?(无需断开连接)。谢谢。您是否在Node js中公开了i

我有一个多人游戏,其中一个服务器连接两个客户端,让它们相互对抗。它工作得很好。但是,现在我想添加一个欢迎页面,在那里他们添加用户名。我需要将此用户名发送到服务器。然而,问题是,当加载欢迎页面时,它会与服务器建立连接(这很好)。但是,当我想使用

location.href = "index.html"

它不起作用。事实上,它会断开与服务器的连接,而不会重新连接。如何在播放器点击按钮后加载多个文件?如何将这些文件保存在同一个“客户端”实例下?(无需断开连接)。谢谢。

您是否在Node js中公开了
index.html
文件,以确保浏览器可以访问该文件?

既然您没有代码,让我试试看。要扩展@anderson所说的内容,请确保您的应用程序可以通过以下方式使用静态文件:

const staticCont = express.static(__dirname + "/public");
其中“public”是所有静态文件的文件夹目录。这样,应用程序(前端)中需要加载任何文件的任何链接都将对您可用

接下来,假设这样做了,也假设您的游戏位于一个单独的页面上,比如说
“mygame.html
”,如果您想在不丢失“
mygame.html
”的情况下将另一个html或其他内容加载到此页面,那么在用户按钮上按下,您将需要AJAX来加载内容

例如:

创建一个虚拟div来保存加载的内容,让我们调用它

<div id="usrBioWrapper"></div>
就这样。当用户单击该按钮时,它将在该分区中加载您的内容。但是请记住,您必须在app.js(后端节点端)中设置公共目录,否则它将无法工作


希望这有帮助

请显示代码我实际上也在这里写下了这个问题哈哈:我当时没有意识到它不起作用,因为页面正在断开位置处服务器的连接。href point我不确定我是否理解。为了简化我的问题,如何在不断开服务器连接的情况下加载另一个html页面?这似乎是一个合理的解决方案,谢谢。我还发现,如果我简单地将欢迎文件与服务器断开连接,然后将用户名is sessionstorage存储在浏览器中,并以这种方式检索信息,那么它也可以工作。
$('#usrBio').on('click', function(){
    $('#usrBioWrapper').load(' usrBioPage.html ');
});