中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

基于gorilla/mux包實現(xiàn)路由匹配中如何通過CORS處理跨域請求

本篇文章為大家展示了基于gorilla/mux 包實現(xiàn)路由匹配中如何通過CORS處理跨域請求,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)專注于新鄭網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供新鄭營銷型網(wǎng)站建設(shè),新鄭網(wǎng)站制作、新鄭網(wǎng)頁設(shè)計、新鄭網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造新鄭網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供新鄭網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

在 SPA 應(yīng)用或者其他前后端分離應(yīng)用中,如果前后端域名不一致,則可能涉及到跨域請求問題。

關(guān)于跨域請求和 CORS 學(xué)院君之前在 Laravel CORS 擴展包使用教程 中曾簡單介紹過,不了解的可以去看下,這里不再重復(fù)講了,Go 語言這邊的原理和那里一致,在基于 gorilla/mux 實現(xiàn)的路由器中,為了通過 CORS 處理跨域請求,可以這么做:

  • 在自己的 CORS 處理器中設(shè)置 CORS 相關(guān)頭,比如 Access-Control-Allow-Origin

  • 通過 CORSMethodMiddleware 這個中間件來設(shè)置 Access-Control-Allow-Methods 響應(yīng)頭定義路由允許的 HTTP 請求方法

?? 為了讓中間件設(shè)置響應(yīng)頭,必須在請求方法匹配器中包含 OPTIONS 方法。

下面我們來看一個簡單的示例:

package main
import (    "net/http"    "github.com/gorilla/mux")
func main() {    r := mux.NewRouter()
   // 注意: 為了讓中間件可以設(shè)置 CORS 頭在 Methods 方法中必須包含 OPTIONS 方法    r.HandleFunc("/api/cors", corsHandler).Methods(http.MethodGet, http.MethodPut, http.MethodOptions)    // CORSMethodMiddleware 中間件會將上一步設(shè)置的方法設(shè)置到 Access-Control-Allow-Methods 響應(yīng)頭    r.Use(mux.CORSMethodMiddleware(r))
   http.ListenAndServe(":8080", r)}
func corsHandler(w http.ResponseWriter, r *http.Request) {    w.Header().Set("Access-Control-Allow-Origin", "*")    if r.Method == http.MethodOptions {        return    }
   w.Write([]byte("Cors Request"))}

運行這段代碼啟動服務(wù)器,然后通過如下命令對 /api/cors 路由發(fā)起請求:

curl -v http://localhost:8080/api/cors

使用 -v 選項可以看到請求頭和響應(yīng)頭信息,結(jié)果如下:

基于gorilla/mux 包實現(xiàn)路由匹配中如何通過CORS處理跨域請求

可以看到響應(yīng)頭中包含了 Access-Control-Allow-Methods 和 Access-Control-Allow-Origin 響應(yīng)頭,分別表示跨域請求支持的方法和域名,如果前端域名是 fontend.xueyuanjun.com,后端域名是 backend.xueyuanjun.com,那么現(xiàn)在它們之間可以基于 Ajax 請求進行通信了。

上述內(nèi)容就是基于gorilla/mux 包實現(xiàn)路由匹配中如何通過CORS處理跨域請求,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:基于gorilla/mux包實現(xiàn)路由匹配中如何通過CORS處理跨域請求
網(wǎng)站網(wǎng)址:http://www.rwnh.cn/article6/jdciog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站維護云服務(wù)器、面包屑導(dǎo)航、域名注冊、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
宝清县| 梁河县| 宝丰县| 广南县| 绥棱县| 旬邑县| 富平县| 吴川市| 龙南县| 浦东新区| 天津市| 天门市| 五大连池市| 马关县| 吴川市| 台东县| 纳雍县| 桐庐县| 独山县| 大荔县| 沁水县| 社旗县| 云南省| 辽阳市| 安仁县| 丰顺县| 凤城市| 射洪县| 太白县| 汤阴县| 福建省| 辽宁省| 灵武市| 正宁县| 崇明县| 运城市| 蕉岭县| 长治市| 凤凰县| 信阳市| 长治县|