目前公司想做前后端分离,后端接口使用PHP。
现在打算用express做中间件,进行模板和数据拼接。套模板是简单了,但是看了半天文档没发现哪里可以发送请求?是用node的http模块自己发请求吗?
我跟你的需求一样,昨天自己研究了下,然后用request实现了,大概的代码如下,不知道能不能解决你的问题
var express = require('express');
var router = express.Router();
var request = require('request');
router.all('/*', function(req, res){
var method = req.method.toUpperCase();
var proxy_url = 'http:www.xx.com/api';
var options = {
headers: {"Connection": "close"},
url: proxy_url,
method: method,
json: true,
body: req.body
};
function callback(error, response, data) {
if (!error && response.statusCode == 200) {
console.log('------接口数据------',data);
res.json(data)
}
}
request(options, callback);
})
module.exports = router;
使用 request 这个库来对外发起请求。
根据你的描述,我觉得你用 express-http-proxy 这个中间件更合适,这个是 request 的上层封装,帮你做了很多转发的事情
可以使用以下包
superagent
request
简单说就是以前的读数据库编程了现在的一个HTTP请求。发送请求的方法@merryLi已经提到了。或者如果你不嫌麻烦也可以用node的http模块发送HTTP请求都是一样的效果。
express自己就是个后端,相当于你的PHP,是接收请求的地方;
发请求你可以fetch/ajax都可以。。。