Dalam rangka kerja gin Go, mengkonfigurasi Perkongsian Sumber Silang Asal (CORS) membolehkan pelanggan dari asal yang berbeza untuk mengakses sumber anda. Walau bagaimanapun, anda mungkin menghadapi isu apabila permintaan CORS tidak mengembalikan gelagat yang dijangkakan, seperti dalam kes pengguna yang mengalami respons kosong selepas menghantar permintaan OPTIONS.
Untuk menyelesaikan isu ini, kami boleh menganalisis pengguna perisian tengah disediakan dan bandingkan dengan perisian yang berfungsi contoh:
func CORSMiddleware() gin.HandlerFunc { return func(c *gin.Context) { c.Writer.Header().Set("Content-Type", "application/json") c.Writer.Header().Set("Access-Control-Allow-Origin", "*") c.Writer.Header().Set("Access-Control-Max-Age", "86400") c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, X-Max") c.Writer.Header().Set("Access-Control-Allow-Credentials", "true") if c.Request.Method == "OPTIONS" { c.AbortWithStatus(200) } else { c.Next() } } }
func CORSMiddleware() gin.HandlerFunc { return func(c *gin.Context) { c.Writer.Header().Set("Access-Control-Allow-Origin", "*") c.Writer.Header().Set("Access-Control-Allow-Credentials", "true") c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, accept, origin, Cache-Control, X-Requested-With") c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS, GET, PUT") if c.Request.Method == "OPTIONS" { c.AbortWithStatus(204) return } c.Next() } }
Perbezaan:
Oleh itu, untuk menyelesaikan masalah, pengguna harus mengemas kini perisian tengah mereka agar sepadan dengan contoh yang berfungsi, terutamanya dengan membetulkan kod status batalkan dan melaraskan kaedah yang dibenarkan.
Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Perisian Tengah CORS dalam Rangka Kerja Gin Go dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!