express转发请求

express

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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;

  

  

posted @   _NKi  阅读(2341)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示