前端axios,后台node express + http-proxy-middleware转发, // axios.remote.js var axios = require(‘axios’); var instance = axios.create({ baseURL: ‘/api’, headers: {
}
}); module.exports = instance;
// app var remote = require(’./axios.remote’); remote.post(’/test/forRemote’, { ‘q’: 123 }).then(function(response){ console.log(response); }).catch(function(err){ console.error(err); });
// express
const proxy = require(‘http-proxy-middleware’);
var proxyHost = ‘http://127.0.0.1:3939/’;
var opt = {
target: proxyHost,
changeOrigin: true,
pathRewrite: {
’^/api’: ‘’
}
}
module.exports = proxy(’**’, opt); 尝试过只要没有参数都可以正常返回: remote.get(’/test/forRemote’) 或者 remote.post(’/test/forRemote’) 都ok 然而只要一加上参数 {q: 123 }就会报ECONNRESET错误,没有任何返回,猜测是对参数的解析有问题导致转发了不正常的请求,所以后端没有返回? 有什么解决思路么?
如果有这一行的话 app.use(bodyParser.json()); 删掉。 node 是做代理转发的不需要解析