当前位置: 首页 > news >正文

电子商务网站设计内容端点seo博客

电子商务网站设计内容,端点seo博客,网络文化经营许可证发证机关,如何快速被百度收录今天写前端的时候#xff0c;发现每次post请求都会失败#xff0c; 反复调试过后发现axios在每次发送post请求前都发送了options请求#xff0c; 在网络搜罗了一大圈#xff0c; 发现了原因是因为web页面发送了请求给vue后#xff0c; vue再请求后端过程中发生了跨域…今天写前端的时候发现每次post请求都会失败 反复调试过后发现axios在每次发送post请求前都发送了options请求 在网络搜罗了一大圈 发现了原因是因为web页面发送了请求给vue后 vue再请求后端过程中发生了跨域 而我使用的不是默认的跨域允许请求头 而是content-type: application/json 所以浏览器认为跨域即是不可靠行为 所以每次都需要发送options请求 进行跨域检测 所以导致了每次options请求失败了 所以post请求就没有下文了。 问题来了 之前我也用vueaxios写了前端 为什么不会出现这样的情况呢  首先我以为是配置的问题 把axios拦截器里面的content-type改成了application/x-www-form-urlencoded 结果发现确实不会再options的 但是之前用的时候 也跨域了 但是却没有出现options。 然后我以为是axios的版本问题 就把axios从1.6.5降到了之前写的时候的1.6.2 结果发现问题依旧说明问题和版本无关。 然后就想到了 问题是基于跨域引起的 那是不是因为后端没有设置跨域呢 但是之前用Django写的后台也没有带跨域设置 Goframe应该也不用才对 抱着试一试的态度 搜索了下GoFrame怎么设置跨域 其实很简单 GoFrame已经帮我们做了封装 在中间件中加入一个允许跨域的方法就行了。 func MiddlewareHandlerResponse(r *ghttp.Request) {r.Response.CORSDefault()r.Middleware.Next() } 然后在你的cmd中加入中间件即可 var (Main gcmd.Command{Name: main,Usage: main,Brief: start http server,Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {s : g.Server()s.Use(MiddlewareHandlerResponse)s.Group(/api, func(group *ghttp.RouterGroup) {group.Group(/v1, func(group *ghttp.RouterGroup) {group.Bind(hb.NewV1())})})s.Run()return nil},} ) 然后再次进行尝试 问题解决了。 仔细对照了一下 后端加入了跨域后 响应头多了如下几个请求头 也就是多了一些允许跨域的设置 这也是GoFrame帮忙封装的 并且在源码中 我们可以看到它针对OPTIONS请求都做了处理的。 func (r *Response) CORS(options CORSOptions) {if r.CORSAllowedOrigin(options) {r.Header().Set(Access-Control-Allow-Origin, options.AllowOrigin)}if options.AllowCredentials ! {r.Header().Set(Access-Control-Allow-Credentials, options.AllowCredentials)}if options.ExposeHeaders ! {r.Header().Set(Access-Control-Expose-Headers, options.ExposeHeaders)}if options.MaxAge ! 0 {r.Header().Set(Access-Control-Max-Age, gconv.String(options.MaxAge))}if options.AllowMethods ! {r.Header().Set(Access-Control-Allow-Methods, options.AllowMethods)}if options.AllowHeaders ! {r.Header().Set(Access-Control-Allow-Headers, options.AllowHeaders)}// No continue service handling if its OPTIONS request.// Note that theres special checks in previous router searching,// so if it goes to here it means theres already serving handler exist.if gstr.Equal(r.Request.Method, OPTIONS) {if r.Status 0 {r.Status http.StatusOK}// No continue serving.r.Request.ExitAll()} }
http://www.zqtcl.cn/news/168977/

相关文章:

  • 包头焦点网站建设郑州包装设计公司
  • 建行官方网站首页做跨境电商亏死了
  • 河北智能网站建设平台卖链接的网站
  • 网站建设简单点的服装搭配网站建设策划书
  • 哪一个军事网站做的比较好今天第四针最新消息
  • 黄页网站推广app软件查企业公司用什么软件
  • 网站设计机构培训全自动网页制作系统源码
  • 外贸网站建设收益深圳建设厅官网
  • 跟网站开发有关的内容东莞市生态环境局
  • dw软件做的东西怎么在网站用网站备案抽查通过
  • 重庆建设集团网站首页wordpress主题inn
  • 对京东网站建设的总结湖北做网站的
  • 杭州网站开发后端招郑州工装定制
  • 网站搭建论文filetype ppt 网站建设
  • 个人做营利性质网站会怎么样如何引用网站上的资料做文献
  • 新网站制作市场泰安做网站哪家好
  • 常熟苏州网站建设flash如何制作网站
  • 电商网站都是用什么做的网站服务器维护方案
  • 简述企业网站建设的流程手机怎么自己做网页
  • 网站备案信息管理呼图壁网站建设
  • 网站建设学习资料开发一套软件需要多少钱
  • 大庆网站设计衡阳seo网站推广
  • 基层科普网站建设的现状自己做的网站怎样链接数据库
  • 网站建设工程师的职位要求化妆品行业网站开发
  • 做海报有什么素材网站知乎什么样的蓝色做网站做好看
  • 餐饮网站建设网站wordpress优酷视频插件下载
  • 什么网站做广告效果好wordpress中文cms
  • seo与网站优化广州洲聚网站开发
  • 建一个自己用的网站要多少钱北京网站建设价格天
  • 免费做婚礼邀请函的网站如何设定旅游网站seo核心关键词