首页 > 怎么用node实现转发请求和渲染页面

怎么用node实现转发请求和渲染页面

公司有个老项目,是用jsp做的,然后每个页面的初始数据都需要自己通过请求拿过来再自己用js渲染页面,实在太麻烦,主管现在想用node做,主要是是用node转发http到原来的java后台,获取到数据后再由node返回给页面。

比如页面请求'/action'接口,在node中用路由实现转发到java端。
现在转发请求的做好了,但是页面初始的数据怎么办?

怎么在res.render前通过node请求相应的java接口,获取数据后填充到模板中?刚学node和express,已经绕不过弯了 _(:3」∠)_


你可以将res.render写在回调里面,等待数据请求完之后,然后再渲染页面。


可以通过node的http模块得到接口数据,然后把json数据绑定到res.render上


Node建议使用proxy
http://88250.b3log.org/node-i...
获取到数据后 渲染到页面上(这要看你node使用的是什么模板引擎)


和jsp一样,render方法中可以绑定请求回来的数据,比如,ejs,jade都可以通过相应约定符号把数据取出来,
然后node会渲染结果html页面返回browser。


使用 express-http-proxy 中间件吧

var proxy = require('express-http-proxy');
var app = require('express')(); 
app.get('/action', proxy('你的 JAVA 服务域名'));

如果 JAVA 服务层和 node 代理层的路径不一致,需要用上 forwardPath 参数来处理路径

【热门文章】
【热门文章】