Beego服务器中出现'No'Access-Control-Allow-Origin'header...”错误,是否配置错误?
创始人
2024-11-27 22:30:55
0

出现该错误的原因是因为跨域访问请求的source与服务器端的Access-Control-Allow-Origin不一致,需要在Beego服务器端进行相关配置。以下是一些代码示例,可以作为参考:

  1. 在路由器路由函数中添加以下代码,可以通过允许所有来源实现跨域访问,但这并不安全:

func (this RouterController) Get() { this.Ctx.ResponseWriter.Header().Set("content-type", "application/json") this.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Origin", "") // your code here }

  1. 也可以将设置Access-Control-Allow-Origin的代码封装到一个中间件中:

package middleware

import ( "github.com/astaxie/beego/context" )

func Cors() func(ctx *context.Context) { return func(ctx *context.Context) { ctx.Output.Header("Access-Control-Allow-Origin", "http://localhost:3000") // 更改此处为你的源地址 ctx.Output.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE") ctx.Output.Header("Access-Control-Allow-Credentials", "true") ctx.Output.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization") if ctx.Request.Method == "OPTIONS" { ctx.Output.Status = 200 } } }

  1. 在Beego的配置文件中添加cors参数:

"web" : { "httpport" : 8080, "enablegzip" : false, "staticdir" : "static", "templatepath" : "views", "sessionon" : true, "sessiongcmaxlifetime" : 3600, "sessionprovider" : "memory", "sessionname" : "sessionid", "sessioncookiepath" : "/", "sessioncookielifeetime" : 0, "cors": { // 添加此处配置 "alloworigins": ["http://localhost:3000"], "allowmethods": ["POST", "GET", "OPTIONS", "PUT", "DELETE"], "allowheaders": ["Origin", "Content-Type", "AccessToken", "X-CSRF-Token", "Authorization"], "exposeheaders": ["Content-Length", "Access-Control-Allow-Origin"], "maxage": 1728000 } }

以上就是解决'No 'Access-Control-Allow-Origin' header...”问题的几种方法,可以根据实际情况进行选择。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...