渲染页面,同时使HTTP请求表达



你好,我是快递菜鸟....我有一个api查看页面,这一切都在工作,但我想要的是一旦用户点击路由,我会显示一个加载页面,然后触发api http请求,一旦它成功重定向/渲染结果页面。据我所知,你不能在同一条路线上使用res.render两次?也许下一个是我们的朋友();能帮忙吗?

这是我目前所拥有的:

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
      });
    }
  });
});

解决这个问题的方法是在UI中做一部分,在服务器上做一部分。您可以通过Ajax调用或使用Socket来实现。IO,它将创建到服务器的套接字连接。

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

Socket官方网站。IO是:http://socket.io。你也可以检查我的bPhone项目,我使用插座。以尽可能简单的方式进行IO。加上我的代码有很多注释,应该使一切都非常清楚。

我希望这将使你走上正确的道路:)

最新更新