Vue axios与Go Frame后端框架的Options请求跨域问题详解

2020-06-16 06:45:50易采站长站整理

其实只要在 CORS 中间件中对 OPTIONS 请求做统一响应即可,上代码:


// CORS 允许接口跨域请求
func CORS(r *ghttp.Request) {
// 使用框架默认的 CORS 设置
r.Response.CORSDefault()
if r.Method == "OPTIONS" {
r.Response.WriteStatusExit(http.StatusOK)
} else {
r.Middleware.Next()
}
}

另外需要注意的是,使用 GoFrame 框架,CORS 中间件要在全局添加,如果在路由组中添加,同样会出现 OPTIONS 请求 404 的情况,而且中间件的代码在请求过程中未执行,原因暂不清楚,还需要多了解下框架。

本文描述的跨域问题是在网页上使用 Vue + axios 时出现的,使用 Postman 工具调试则一切正常,这里记录下排查过程和解决方法,希望能帮到有需要的童鞋,有任何问题可以在评论里一起讨论下。

到此这篇关于Vue axios与Go Frame后端框架的Options请求跨域问题详解的文章就介绍到这了,更多相关Vue axios与Go Frame跨域内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!