uniapp H5 https跨域請(qǐng)求實(shí)現(xiàn)
什么是跨域
跨域是瀏覽器的專用概念,指js代碼訪問自己來源站點(diǎn)之外的站點(diǎn)。比如A站點(diǎn)網(wǎng)頁中的js代碼,請(qǐng)求了B站點(diǎn)的數(shù)據(jù),就是跨域。
A和B要想被認(rèn)為是同域,則必須有相同的協(xié)議(比如http和https就不行)、相同域名、和相同端口號(hào)(port)。
如果你是做App、小程序等非H5平臺(tái),是不涉及跨域問題的。
由于uni-app是標(biāo)準(zhǔn)的前后端分離模式,開發(fā)h5應(yīng)用時(shí)如果前端代碼和后端接口沒有部署在同域服務(wù)器,就會(huì)被瀏覽器報(bào)跨域。
本文主要介紹uniapp H5開發(fā)中,本地調(diào)試https的接口實(shí)現(xiàn)跨域請(qǐng)求
源碼視圖
"h5" : {
"title" : "",
"domain" : "",
"router" : {
"mode" : "hash",
"base" : "/h5/"
},
"devServer" : {
// "https" : true,
"proxy":{
"/api": {
"target":"https://域名/api",
"changeOrigin": true,//是否跨域
"secure": true,// 設(shè)置支持https協(xié)議的代理
"pathRewrite":{"^/api":""}
}
}
}
}
接口請(qǐng)求
uni.request({
// url: ApiUrl + opt.url,
url: '/api' + opt.url,
data: data,
method: opt.method,
header: opt.header,
dataType: 'json',
success: function (res) {
if(res.data.code=='401'){
uni.showToast({
title: res.data.msg,
icon: 'none'
});
uni.navigateTo({
url: '/pages/me/login'
});
} else {
opt.success(res);
}
},
fail: function (res) {
uni.hideLoading();
// opt.fail(res);
uni.showToast({
title: '網(wǎng)絡(luò)異常',
icon:'none'
});
}
})
如此這般,跨域功成。
問題引申
有小伙伴問uniapp客戶端對(duì)接第三方,uniapp這邊我用的是https,但是第三方用的http,請(qǐng)問這種該如何去解決跨域問題呢?
// 思路和vue是一樣的
1、安裝vue jsonp
npm i -S vue-jsonp
// 引入vue-jsonp 解決服務(wù)跨域請(qǐng)求問題
2、在main.js中導(dǎo)入vue-jsonp
import {VueJsonp} from 'vue-jsonp'
Vue.use(VueJsonp);到此這篇關(guān)于uniapp H5 https跨域請(qǐng)求實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)uniapp H5 https跨域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Javascript的console['''']常用輸入方法匯總
本文給大家?guī)砹耸畮追NJavascript的console['']常用輸入方法,每種方法給大家介紹的都很詳細(xì),需要的朋友參考下吧2018-04-04
基于jQuery通過jQuery.form.js插件使用ajax提交form表單
在jQuery Form插件可以讓你很容易的使用AJAX提交Form表單,主要方法ajaxForm和ajaxSubmit負(fù)責(zé)收集表單元素的信息,管理提交進(jìn)程。這兩種方法都是可配置的,讓你完全控制Form提交,本篇文章介紹基于jQuery通過jQuery.form.js插件使用ajax提交form表單,需要的朋友可以參考下2015-08-08
一次記住JavaScript的6個(gè)正則表達(dá)式方法
這篇文章主要介紹了一次記住JavaScript的6個(gè)正則表達(dá)式方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02
JS中split()用法(將字符串按指定符號(hào)分割成數(shù)組)
這篇文章主要介紹了JS中split()用法(將字符串按指定符號(hào)分割成數(shù)組)的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10
Intellij中直接運(yùn)行ts配置方法:run?configuration?for?typescript
run?configuration?for?typescript?插件本質(zhì)還是依賴于ts-node來運(yùn)行,只是其可以幫助我們自動(dòng)配置好ts-node運(yùn)行參數(shù),簡(jiǎn)化使用,這篇文章給大家介紹在Intellij中可以借助插件run?configuration?for?typescript直接運(yùn)行typescript的方法,感興趣的朋友一起看看吧2023-08-08
JavaScript實(shí)現(xiàn)控制打開文件另存為對(duì)話框的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)控制打開文件另存為對(duì)話框的方法,實(shí)例分析了javascript實(shí)現(xiàn)文件另存為的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
js實(shí)現(xiàn)百度登錄框鼠標(biāo)拖拽效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)百度登錄框鼠標(biāo)拖拽效果的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03

