uni-app學習填坑--關於跨域配置後post請求被轉發爲get請求的解決

最近學習uni-app,從創建項目到代碼運行都很順利,但是在接入後端服務請求的時候,跨域問題出現了,根據官方或者廣大網友的集思廣益,增加了跨域的配置,配置如下:

"h5" : {
        "devServer" : {
            "port" : 8080,
            "disableHostCheck" : true,
            "proxy" : {
                "/api" : {
                    "target" : "http://192.168.0.172:8800/",
                    "changeOrigin" : true,
                    "secure" : false,
                    "pathRewrite" : {
                        "^/api" : "/"
                    }
                }
            }
        }
    }

根據網絡查詢,所有這樣配置的人都成功解決跨域問題,但是在我運行後跨域問題是解決了,但是post請求被轉發爲get請求,參數也不見了,鬱悶,搜素各種帖子,沒有一個靠譜的解決,或者根本就沒有遇到這個問題;但是在nginx代理轉發的帖子中發現了問題的根源所在–https,https會把轉發的http請求全部轉爲get請求。但是我仔細看了請求路徑,沒有用到https,感覺這個問題很靈異。然後在視圖查看配置文件的時候發現:
在這裏插入圖片描述
hbuilderx默認是支持啓用https協議的,也就是說默認在使用https進行請求轉發;於是勾掉這個選項,運行代碼,跨域問題徹底解決;
完整的h5配置如下:

"h5" : {
        "devServer" : {
            "port" : 8080,
            "disableHostCheck" : true,
            "proxy" : {
                "/api" : {
                    "target" : "http://192.168.0.172:8800/",
                    "changeOrigin" : true,
                    "secure" : false,
                    "pathRewrite" : {
                        "^/api" : "/"
                    }
                }
            },
            "https" : false  //沒錯這個就是罪魁禍首,設置爲false就好了
        }
    }
發佈了8 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章