在http请求表达时呈现页面

时间:2016-10-08 14:12:11

标签: node.js express httprequest

嗨,我是一个快速的菜鸟....我有一个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
      });
    }
  });
});

1 个答案:

答案 0 :(得分:0)

您的问题的解决方案是在UI中执行操作并在服务器上执行操作。您可以使用Ajax调用或使用Socket.IO来执行此操作,Socket.IO将创建与服务器的套接字连接。

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

Socket.IO的官方网站是:http://socket.io。您还可以以最简单的方式检查我的bPhone项目,其中我使用Socket.IO。此外,我的代码有很多评论,应该使一切都非常清楚。

我希望这会让你走上正确的道路:)