亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 localhost:8080 上運行的服務器從在 9090 上運行的前端獲取 CORS

在 localhost:8080 上運行的服務器從在 9090 上運行的前端獲取 CORS

Go
躍然一笑 2023-05-22 17:14:19
我有一個在 localhost:8080 上運行的 API 服務器 (gin-gonic)。所有典型的 CORS-Header 都設置為調試:當我嘗試使用簡單的前端 (swagger-ui) 測試 API 時,出現 CORS 錯誤。(招搖在本地主機上運行:9090)當一切都在同一個域上運行時,它會起作用。c.Writer.Header().Set("Access-Control-Allow-Origin", "*") c.Writer.Header().Set("Access-Control-Allow-Headers", "*") c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS, GET, PUT")為什么這不起作用。難道這 3 條線不能解決所有 CORS 問題嗎?我對實際解釋而不是簡單的解決方案非常好奇。歡迎所有與此相關的資源(或有關 CORS 的好資源)。它在 Postman 或 CURL 中運行良好瀏覽器中的錯誤消息:
查看完整描述

1 回答

?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

當您將 OPTION 作為 Preflight 請求捕獲時,您的服務器應該返回成功。我在您提供的代碼中找不到回報。

您也可以嘗試使用https://github.com/rs/cors

package main


import (

    "net/http"


    "github.com/gin-gonic/gin"

    cors "github.com/rs/cors/wrapper/gin"

)


func main() {

    router := gin.Default()


    router.Use(cors.Default())

    router.GET("/", func(context *gin.Context) {

        context.JSON(http.StatusOK, gin.H{"hello": "world"})

    })


    router.Run(":8080")

}


查看完整回答
反對 回復 2023-05-22
  • 1 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號