首页 > 其他 > 详细

express配置跨域

时间:2021-04-16 12:41:53      阅读:21      评论:0      收藏:0      [点我收藏+]

前后端分离场景后端需要配置跨域,否则浏览器那端跨域请求会报错。

 

跨域要配置的:

app.all(‘*‘, (req, res, next) => {
  // google需要配置,否则报错cors error
  res.setHeader(‘Access-Control-Allow-Credentials‘, ‘true‘)
  // 允许的地址,http://127.0.0.1:9000这样的格式
  res.setHeader(‘Access-Control-Allow-Origin‘, req.get(‘Origin‘))
  // 允许跨域请求的方法
  res.setHeader(
    ‘Access-Control-Allow-Methods‘,
    ‘POST, GET, OPTIONS, DELETE, PUT‘
  )
  next()
})

  

整体写法例子:

const express = require(‘express‘)
const app = express()
const port = 9000

app.all(‘*‘, (req, res, next) => {
  // google需要配置,否则报错cors error
  res.setHeader(‘Access-Control-Allow-Credentials‘, ‘true‘)
  // 允许的地址,http://127.0.0.1:9000这样的格式
  res.setHeader(‘Access-Control-Allow-Origin‘, req.get(‘Origin‘))
  // 允许跨域请求的方法
  res.setHeader(
    ‘Access-Control-Allow-Methods‘,
    ‘POST, GET, OPTIONS, DELETE, PUT‘
  )
  next()
})

app.get(‘/‘, (req, res) => {
  res.send(‘Hello World!‘)
})

app.get(‘/mall/queryMall‘, (req, res) => {
  res.send({
    code: 0,
    sum_num: 2,
    data: [
      {
        id: 1,
        name: ‘商场一号‘,
        proportion: 10,
        address: ‘上海市,辖区,浦东新区‘,
        user: {
          id: 1,
          name: ‘zezhou一号‘,
          tc: ‘商品金额*一级提率‘,
        },
      },
      {
        id: 2,
        name: ‘商场二号‘,
        proportion: 5,
        address: ‘上海市,辖区,浦东新区‘,
        user: {
          id: 2,
          name: ‘zezhou二号‘,
          tc: ‘商品金额*一级提率‘,
        },
      },
    ],
  })
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

 

express配置跨域

原文:https://www.cnblogs.com/zezhou/p/14666102.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!