Das Projekt möchte den Knoten als mittlere Ebene verwenden.
Der Knoten der zweiten Ebene sendet eine Anfrage an PHP.
Ich weiß ein wenig über den Knoten und das Express-Framework Anfrage an PHP, um die Daten abzurufen und an die Rezeption zurückzusenden. Gibt es eine einfache und leicht verständliche Methode?
abrufen, möchte aber die Route anpassen und dann die Anfrage an den Hintergrund senden, um die EJS-Vorlage zu rendern. http-proxy-middleware
const apiProxy = proxy('/do', { target: 'http://wx.lxjjz.cn',changeOrigin: true });//将服务器代理到localhost:8080端口上[本地服务器为localhost:3000]
app.use('*', apiProxy);//子目录下的都是用代理
app.get('/index', function(req,res){
//我想在这里匹配到路由,然后在这里发送请求拿数据
//然后根据返回的数据传送到ejs模版渲染
res.sendFile(__dirname+'/index.html');
});
Kunde
var contextPath = 'http://wx.lxjjz.cn';
$.ajax({
type:'get',
url:contextPath+'/do?g=api&m=hd&a=works-list',
success:function(data){
console.log(data);
},
error:function(data){
console.log(data);
}
})
node有各种请求库啊。自带的也有request
整个流程大概就是
客户端请求node服务器
node服务器请求php然后包装返回的response数据
将上面的包装好的数据返回给客户端
需要注意的就是要处理下回调,如果要好看点可以使用promise或者co模块等来处理异步代码。
这个有各种解决办法,我就说我们用的这个吧
node-rest-client
比如使用express,自己写个路由,如果
/ajax
用于接受前端请求前端请求都发到/ajax就可以了,然后在/ajax里面,使用node-rest-client将请求转发到php,php返回数据后,res.json(data)就可以了
当然这中间你需要自己封装统一一下数据等,这个都是小事,主要思路大概就是这样的
http-proxy-middleware
如果只是代理转发、
中间层不做任何数据封装的话、可以使用这个中间件:
https://github.com/chimurai/h...
通常来讲都是要node来进行数据封装的、api那一层不管业务、这样可以解耦、
那就需要单独做各种接口、拿到数据自己用lodash和moment重组、发给前台、