最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue proxyTable的跨域中pathRewrite配置方式

 更新時間:2022年04月09日 10:50:33   作者:BraveSoul360  
這篇文章主要介紹了vue proxyTable的跨域中pathRewrite配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue瀏覽器跨域問題和vue proxyTable跨域中pathRewrite配置

vue瀏覽器跨域問題

當瀏覽器報如下錯誤時,則說明請求跨域了。

localhost/:1 Failed to load http://www.thenewstep.cn/test/testToken.php: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled.

為什么會跨域

因為瀏覽器同源策略的限制,不是同源的腳本不能操作其他源下面的對象。

什么是同源策略

同源策略(Same origin policy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。

可以說Web是構(gòu)建在同源策略基礎之上的,瀏覽器只是針對同源策略的一種實現(xiàn)。

簡單的來說:協(xié)議、IP、端口三者都相同,則為同源

解決辦法

跨域的解決辦法有很多,比如script標簽 、jsonp、后端設置cros等等…,但是我這里講的是webpack配置vue 的 proxyTable解決跨域。

pathRewrite

簡單來說,pathRewrite是使用proxy進行代理時,對請求路徑進行重定向以匹配到正確的請求地址,

dev: {
? ? // Paths
? ? assetsSubDirectory: 'static',
? ? assetsPublicPath: '/',
? ? proxyTable: {
? ? ? '/api': {
? ? ? ? target: 'http://XX.XX.XX.XX:8083',
? ? ? ? changeOrigin: true,
? ? ? ? pathRewrite: {
? ? ? ? ? '^/api': '/api' ? // 這種接口配置出來 ? ? http://XX.XX.XX.XX:8083/api/login
? ? ? ? ? //'^/api': '/' 這種接口配置出來 ? ? http://XX.XX.XX.XX:8083/login
? ? ? ? }
? ? ? }
? ? }
? },

如何不配置pathRewrite 請求就被轉(zhuǎn)發(fā)到 http://XX.XX.XX.XX:8083 并把相應uri帶上。

比如:localhost:8080/api/xxx 會被轉(zhuǎn)發(fā)到http://XX.XX.XX.XX:8083/api/xxx

配置完成后需要重新編譯一遍 , 調(diào)用接口的時候

? ? ? ? // 獲取菜單權(quán)限
? ? ? getPermission(){
? ? ? ? this.$ajaxget({
? ? ? ? ? url: '/api/getPermission',
? ? ? ? ? data: {},
? ? ? ? ? isLayer: true,
? ? ? ? ? successFc: data => {
? ? ? ? ? ? console.log(data.data)
? ? ? ? ? }
? ? ? ? })

2種數(shù)據(jù)請求方式: fecth和axios

1、fetch方式

在需要請求的頁面,只需要這樣寫(/apis+具體請求參數(shù)),如下:

fetch("/apis/test/testToken.php", {
? ? ? method: "POST",
? ? ? headers: {
? ? ? ? "Content-type": "application/json",
? ? ? ? token: "f4c902c9ae5a2a9d8f84868ad064e706"
? ? ? },
? ? ? body: JSON.stringify(data)
? ? })
? ? ? .then(res => res.json())
? ? ? .then(data => {
? ? ? ? console.log(data);
? ? ? });

2、axios方式

main.js代碼

import Vue from 'vue'
import App from './App'
import axios from 'axios'
Vue.config.productionTip = false
Vue.prototype.$axios = axios //將axios掛載在Vue實例原型上
// 設置axios請求的token
axios.defaults.headers.common['token'] = 'f4c902c9ae5a2a9d8f84868ad064e706'
//設置請求頭
axios.defaults.headers.post["Content-type"] = "application/json"

axios請求頁面代碼

this.$axios.post('/apis/test/testToken.php',data).then(res=>{
? ? ? ? console.log(res)
})

代理配置proxy下pathrewrite失效踩坑

從網(wǎng)上直接找到的代碼復制過來報錯,最后找了一下午為什么失效,最后發(fā)現(xiàn)問題直接破防了

錯誤:

pathRewrite: {?
? " ?^/api ?" ?: "" //若請求的路徑在目標url下但不在/api 下,則將其轉(zhuǎn)換成空
? },

正確:

pathRewrite: {?
? "^/api": "" //若請求的路徑在目標url下但不在/api 下,則將其轉(zhuǎn)換成空
? ?},

原因:

直接復制過來的 "  ^/api  "  : ""里面多了兩個空格,判斷url的時候就獲取不到/api,刪除空格就解決問題了

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Vue3制作簡單的消消樂游戲

    基于Vue3制作簡單的消消樂游戲

    這篇文章主要為大家介紹了如何利用Vue3制作簡單的消消樂游戲,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起動手試一試
    2022-05-05
  • 基于vue-element組件實現(xiàn)音樂播放器功能

    基于vue-element組件實現(xiàn)音樂播放器功能

    這篇文章主要介紹了基于vue-element組件實現(xiàn)音樂播放器功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • 使用axios請求時,發(fā)送formData請求的示例

    使用axios請求時,發(fā)送formData請求的示例

    今天小編就為大家分享一篇使用axios請求時,發(fā)送formData請求的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • VUE?使用canvas繪制管線管廊示例詳解

    VUE?使用canvas繪制管線管廊示例詳解

    這篇文章主要為大家介紹了VUE?使用canvas繪制管線/管廊實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • vue-cli3環(huán)境變量與分環(huán)境打包的方法示例

    vue-cli3環(huán)境變量與分環(huán)境打包的方法示例

    這篇文章主要介紹了vue-cli3環(huán)境變量與分環(huán)境打包的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • vue實現(xiàn)圖形驗證碼

    vue實現(xiàn)圖形驗證碼

    這篇文章主要為大家詳細介紹了vue實現(xiàn)圖形驗證碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Vue.js?element-plus使用圖標不顯示問題的解決方式

    Vue.js?element-plus使用圖標不顯示問題的解決方式

    近期在學習Vue時用elementUI時發(fā)現(xiàn)圖標在頁面上顯示不出來,所以這篇文章主要給大家介紹了關(guān)于Vue.js?element-plus使用圖標不顯示問題的解決方式,需要的朋友可以參考下
    2022-09-09
  • 詳解webpack打包vue時提取css

    詳解webpack打包vue時提取css

    本篇文章主要介紹了詳解webpack打包vue時提取css,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 在vue中使用eslint,配合vscode的操作

    在vue中使用eslint,配合vscode的操作

    這篇文章主要介紹了在vue中使用eslint,配合vscode的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Vue如何由本地js中存放的url地址獲取圖片

    Vue如何由本地js中存放的url地址獲取圖片

    這篇文章主要介紹了Vue如何由本地js中存放的url地址獲取圖片問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論

景宁| 颍上县| 新野县| 馆陶县| 广南县| 拜泉县| 那坡县| 华宁县| 满城县| 通州区| 民和| 宁国市| 德兴市| 繁昌县| 平南县| 城口县| 田林县| 邮箱| 车险| 临泽县| 宁国市| 双桥区| 阿尔山市| 中山市| 高安市| 太湖县| 四会市| 毕节市| 白山市| 怀宁县| 鄂州市| 绥江县| 祁连县| 寿阳县| 舟山市| 淮滨县| 南召县| 萍乡市| 南岸区| 汤阴县| 巴彦淖尔市|