跨域

CORS

cors 是 Express 的第三方中间件,用于解决跨域问题

需要在路由之前配置 CORS

  1. 安装
1
npm i cors
  1. 导入
1
const cors = require('cors')
  1. 注册
1
app.use(cors())

响应头

  • Access-Control-Allow-Origin

    允许那些域名访问服务器

1
res.setHeader('Access-Control-Allow-Origin', '*')
  • Access-Control-Allow-Methods

    允许那些请求类型

1
res.setHeader('Access-Control-Allow-Methods', '*')

JSONP

只能是 get请求

1
2
3
4
5
6
7
8
9
10
11
12
13
app.get('/api/jsonp', (req, res)=>{
/* 接收前端传输的方法 */
const funcName = req.query.callback;

/* 数据 */
const data = {};

/* 拼接方法 */
const scriptStr = `${funcName}(${data})`

/* 返回给前端 */
res.send(scriptStr)
})