渲染页面,同时使http请求expression

嗨,我是一个快速的noob ….我有一个API的页面,这是所有的工作,但我想要的是一旦用户点击路线,我会显示一个加载页面,消灭了API的HTTP请求那么一旦成功redirect/渲染结果页面。 据我了解,你不能在同一条路线上使用res.render两次? 也许我们的好友next(); 可以帮忙吗?

这是我迄今为止:

router.get('/lookup/post/:url', function(req, res){ // Render the loading page...? res.render('loading'); Lookup.post(req.params.url, function(err, result){ if(err){ }else{ // ...Then once the api lookup comes back ok redirect or render the results page? res.render('results', { posts : result.store.postData.posts[0], votes : result.store.voteData }); } }); }); 

你的问题的解决scheme是在用户界面和部分在服务器上做的一部分。 您可以通过Ajax调用或使用Socket.IO来实现,它将创build与服务器的套接字连接。

我认为后者是最方便的解决scheme,因为你可以通过发送和收听消息来与后端和前端通信。 Socket.IO很酷的部分是,如果浏览器不支持套接字,它将默认为一个Ajax调用。

Socket.IO的官方网站是: http ://socket.io。 你也可以用最简单的方式检查我的bPhone项目,在那里我使用Socket.IO。 加上我的代码有很多意见,应该使一切都非常清楚。

我希望这会把你放在正确的道路上:)