首页 > 其他 > 详细

iris 框架在服务端解决跨域问题

时间:2021-03-29 20:48:56      阅读:63      评论:0      收藏:0      [点我收藏+]
1. 编写中间件,将允许跨域的header添加到响应头
// Cors
func Cors(ctx iris.Context) {
    ctx.Header("Access-Control-Allow-Origin""*")
    // ctx.Header("Access-Control-Allow-Headers", "DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization")
    // ctx.Header("Access-Control-Allow-Methods", "GET,POST,OPTIONS,HEAD,DELETE")
    if ctx.Method() == "OPTIONS" {
        ctx.Header("Access-Control-Allow-Methods""GET,POST,PUT,DELETE,PATCH,OPTIONS")
        ctx.Header("Access-Control-Allow-Headers""Content-Type, Accept, Authorization")
        ctx.StatusCode(204)
        return
    }
    ctx.Next()
}

func main() {
    app := iris.New()
    app.Use(recover.New())
  // 所有请求前面添加拦截器
    app.Use(Cors)
  // 如果API接口没有实现OPTIONS方法,需要给所有接口设置缺省的OPTIONS方法,不然捕捉不到对应API接口的OPTIONS请求。
    common := app.Party("/")
    {
        common.Options("*"func(ctx iris.Context) {
            ctx.Next()
        })
    }

    api := app.Party("/api")
    api.Get("/index", IndexHandler)

    app.Run(iris.Addr("0.0.0.0:8080"))
}

iris 框架在服务端解决跨域问题

原文:https://www.cnblogs.com/sqtu/p/14593548.html

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