1

我正在编写一个游戏服务器,玩家进入游戏室,然后与另一个玩家配对。此时我想在不重新加载页面的情况下显示板,所以我不必重新启动套接字。

在 app.js 文件中

socket.on('challangeExcepted', function(playerToMatch){
        if(socket.player.id == playerToMatch.id){ 
            ejs.render('board', {
                units: 19,
                length: 600
            });
        }
}); 

但是我似乎无法让它发挥作用。我做错了什么,还是这不可能?

4

2 回答 2

2

据我所知,要完全更改 html 需要重新加载页面。但是,您可以使用更新模板的动态部分res.update('page_element', '/template.ejs', '{whatever: 'you want to update'});

这是文档 http://code.google.com/p/embeddedjavascript/wiki/Templates

我最终只使用backbone.js 来解决我的问题,它允许对html 进行大量更改而无需重新加载页面。

于 2012-12-16T22:08:51.823 回答
0

尝试 pjax:

它是一种仅重新加载页面特定部分中的 html 并使用 pushState 更改地址的技术。

https://npmjs.org/package/express-pjax

https://github.com/defunkt/jquery-pjax

http://37signals.com/svn/posts/3112-how-basecamp-next-got-to-be-so-damn-fast-without-using-much-client-side-ui

于 2013-09-27T04:17:05.157 回答