uniapp編譯到app是不存在跨域問(wèn)題的蟹倾,但是編譯到H5就會(huì)有跨域問(wèn)題玫芦。記錄一下工作中遇到跨域及解決跨域方法
方法一: 直接編譯Hbuilder內(nèi)置瀏覽器(公司網(wǎng)絡(luò)下載不下來(lái))莺琳,能解決跨域
方法二: 在manifest.json文件中配置跨域茂契,該方法類(lèi)似vue.config.js中的devServer
步驟一
"h5" : {
"devServer" : {
"disableHostCheck" : true, // 開(kāi)啟可以用自己的域名
"proxy": {
"/api": {
"target": "https://www.test.com",
"changeOrigin" : true,
"secure" : false
}
}
}
}
步驟二 很重要饮亏,很多人配置了步驟一沒(méi)效果看杭,因?yàn)椴襟E二沒(méi)配置好
就是接口請(qǐng)求的時(shí)候忠藤,不能是正式域名,因?yàn)榇硪呀?jīng)幫你轉(zhuǎn)了(這里和vue不同楼雹,如果2個(gè)都寫(xiě)了會(huì)調(diào)錯(cuò))
舉個(gè)栗子
baseUrl = process.env.NODE_ENV === 'development' ? '' : 'https://www.test.com'
然后uni.request請(qǐng)求的url應(yīng)該是這樣:proxy + '/user/info'
然后瀏覽器看到的請(qǐng)求地址應(yīng)該是
http://localhost:8080/user/info
方法三 :直接在項(xiàng)目根目錄創(chuàng)建一個(gè)vue.config.js文件模孩,配置跟方法二一樣
該方法跟2一樣的,uniapp會(huì)識(shí)別這個(gè)vue.config.js文件贮缅,不過(guò)manifest.json的優(yōu)先級(jí)
要高于vue.config.js文件
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者