beego跨域请求配置

不说废话

在main函数前加入如下代码

func init() {
//跨域设置
var FilterGateWay = func(ctx *context.Context) {ctx.ResponseWriter.Header().Set("Access-Control-Allow-Origin", "*")
//允许访问源
ctx.ResponseWriter.Header().Set("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS")
//允许post访问
ctx.ResponseWriter.Header().Set("Access-Control-Allow-Headers","Access-Control-Allow-Origin,ContentType,Authorization,accept,accept-encoding, authorization, content-type") //header的类型
ctx.ResponseWriter.Header().Set("Access-Control-Max-Age", "1728000")
ctx.ResponseWriter.Header().Set("Access-Control-Allow-Credentials", "true")
	}
	beego.InsertFilter("*", beego.BeforeRouter, FilterGateWay)
}
//路由设置
ns := beego.NewNamespace("/v1",
//	用于跨域请求
beego.NSRouter("*",&controllers.BaseController{},"OPTIONS:Options"),)
beego.AddNamespace(ns)

定义option函数回应预检请求(controller中)

```
定义option函数回应预检请求(controller中)
```go
// @Title test
// @Description 预检
// @Success 200 {string} "hello world"
// @router / [options]
func (c *BaseController) Options() {
	c.Data["json"] = map[string]interface{}{"status": 200, "message": "ok", "moreinfo": ""}
	c.ServeJSON()
}
```

跨域请求是会先发送一个option请求,该请求如果收到响应(响应内容随便),客户端则才会继续发送请求

原文地址:https://www.cnblogs.com/qflyue/p/10295671.html

时间: 2024-10-10 21:38:15

beego跨域请求配置的相关文章

JavaWeb项目解决跨域请求配置

首先需要一个filter,代码如下: package com.ckugua.mentality.filter; import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException; public class SimpleCORSFilter implements Filter { pr

Chrome浏览器允许跨域请求配置

最近有个做数据标注的任务,但是标注平台是别人公司的,他们又不愿意对平台进行升级改造: 其实要改的地方也很简单,就是对页面做一些处理,做一些脚本控制. 没办法,做了个 iframe 给她嵌入到我们自己的网页里,但是问题来了,就是跨域的问题. iframe 是不允许进行跨域访问的,和ajax请求一样不允许跨域访问. 允许google浏览器跨域ajax提交 在启动chorme时加上 --allow-file-access-from-files 或者 -disable-web-security 建议用前

rails跨域请求配置

gem 'rack-cors', '~> 0.3.1'application.rb config.middleware.insert_before 0, "Rack::Cors" do allow do origins '*' resource '*', :headers => :any, :methods => [:get, :post, :options] end end

Nginx服务器中处理AJAX跨域请求的配置方法讲解

Nginx 实现AJAX跨域请求AJAX从一个域请求另一个域会有跨域的问题.那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Control*指令.如下所示: ? 1 2 3 4 5 6 7 8 9 10 11 12 location /{ add_header 'Access-Control-Allow-Origin' 'http://other.subdomain.com'; add_header 'Access-Cont

jquery ajax跨域请求webservice webconfig配置

jquery ajax跨域请求webservice web.config配置 <configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> <webServices> <protocols> <add name="HttpGet"/> <add name="Htt

服务端配置实现AJAX跨域请求

一直以为AJAX跨域是无法逾越的鸿沟,最近发现原来在服务端可以通过发送header信息来允许AJAX跨域请求. PHP代码示例: header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Headers:X-Requested-With'); 经过测试,webkit内核的浏览器成功实现跨域请求. IE一如既往的不支持~看来只能在移动端享用这一强大功能了 另外,需要注意的是,第一行配置中的*表示允许来自所有refer

cors跨域请求问题 关于spring -springmvc -mybatis .基于xml配置方式

1:场景还原 今天要写一个方法, 需求是  在购物车服务上,  调用一个个人中心的方法 ,用到了 跨域请求. 我就在个人中心的 上面写了个方法, 并在springMVC.xml中,配置了 配合完成以后 写了一个ajax 测试接口.却总是出现跨域失败 未完待续...... 原文地址:https://www.cnblogs.com/sansy/p/9926537.html

Nginx配置跨域请求 Access-Control-Allow-Origin *

当出现403跨域错误的时候 No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给Nginx服务器配置响应的header参数: 一. 解决方案 只需要在Nginx的配置文件中配置以下参数: location / { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, P

spring boot跨域请求访问配置以及spring security中配置失效的原理解析

一.同源策略 同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源. 同源策略是浏览器安全的基石. 什么是源 源[origin]就是协议.域名和端口号.例如:http://www.baidu.com:80这个URL. 什么是同源 若地址里面的协议.域名和端口号均相同则属于同源. 是否是同源的判断 例如判断下面的URL是否与 http://www.a.com/test/index.html 同源 http://www.a