express转发请求

Posted _NKi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了express转发请求相关的知识,希望对你有一定的参考价值。

express

var express = require(‘express‘);
var axios = require(‘axios‘);
var qs = require(‘qs‘);
var router = express.Router();

const ajax = axios.create({
  baseURL: ‘http://test.com‘,
  headers: {
    ‘Content-Type‘: ‘application/x-www-form-urlencoded;charset=UTF-8‘,
  },
});

ajax.interceptors.request.use((config) => {
  if (config.method === ‘post‘) {
    config.data = qs.stringify(config.data);
  }
  return config;
});

router.all(‘/‘, function(req, res, next) {
  res.header(‘Access-Control-Allow-Origin‘, ‘*‘);  
  res.header(‘Access-Control-Allow-Headers‘, ‘Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild‘);  
  res.header(‘Access-Control-Allow-Methods‘, ‘PUT, POST, GET, DELETE, OPTIONS‘);  
  res.header(‘Cache-Control‘, ‘no-cache, no-store, must-revalidate‘);  
  res.header(‘Pragma‘, ‘no-cache‘);  
  res.header(‘Expires‘, ‘0‘);  

  ajax({
    method: req.method.toLowerCase(),
    url: req.originalUrl,
    data: req.body,
  }).then(response => {
    res.send(response.data);
    console.log(response.data);
    console.log(req.body);
  }).catch(err => {
    console.log(err);
  });

  if (req.method == ‘OPTIONS‘) { res.send(200); }
});

module.exports = router;

  

以上是关于express转发请求的主要内容,如果未能解决你的问题,请参考以下文章

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

使用 EBS 和 ELB 环境在 node.js express 应用程序中将 http 转发到 https

node.js中使用http-proxy-middleware请求转发给其它服务器

express开发上手记录(3)知识补充:http请求和响应

nodejs 代理 解决开发环境跨域问题

node 中间层怎样做的请求合并转发