Beego 配置跨域请求

用beego做后台开发,由于浏览器的同源策略,会遇到跨域问题,比如这种

之前网上搜过很多方法 大多是在main函数或者route人里配置跨域

比如:

beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{

    AllowOrigins:     []string{"http://localhost:9090"},

    AllowMethods:     []string{"GET", "POST", "PUT", "DELETE", "PATCH"},

    AllowHeaders:     []string{"Origin", "Auth-Token"},

    ExposeHeaders:    []string{"Content-Length"},

    AllowCredentials: true}))

但是一一试过了 ,都不成功,因为又会遇到预探测请求失败的问题,比如这种

Beego 配置跨域请求_第1张图片

后来着力解决请求头的问题,看到这篇文章: https://www.cnblogs.com/lrj567/p/6141209.html

 

借鉴了一下,OK,终于解决,写一下配置过程:

先在router中配置与预探测请求

Beego 配置跨域请求_第2张图片

这个预探测请求也要写一个方法,返回数据,配置好运允许访问的源

Beego 配置跨域请求_第3张图片

 

然后所有涉及到跨域的端口都调用一下这个允许跨域的函数就可以了,其实不调用也可以返回数据的,但是无法返回json格式的数据,如果要返回json格式的数据,还是要调用一下的

 

Beego 配置跨域请求_第4张图片

 

你可能感兴趣的:(Golang)