91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue proxyTable實現配置多個接口地址并解決跨域的問題

發布時間:2020-11-03 20:08:26 來源:億速云 閱讀:1250 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關Vue proxyTable實現配置多個接口地址并解決跨域的問題,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

最開始的時候,因為請求后臺出現跨域問題。

查找資料配置proxyTable,解決跨域問題。如下圖所示:

Vue proxyTable實現配置多個接口地址并解決跨域的問題

axios請求頁面:

this.$axios.post('/api/weblogin/login',data).then(res=>{
    console.log(res)
})

后面遇到需要連接不同的接口域名,我在proxyTable里增加了一個apiGas。axios請求存在獲取得到api但是不能獲取apiGas(提示請求資源不存在)。

 proxyTable: {
   '/api': {
    target: 'http://', // 接口域名
    changeOrigin: true, //是否跨域
    pathRewrite: {
     '^/api': '/bsgzf/api/auth/' , //需要rewrite的,
    },
   },
   '/apiGas': {
    target: 'http://', // 接口域名
    changeOrigin: true, //是否跨域
    pathRewrite: {
     '^/apiGas':'/bsgzf/api/gas/'
    }
   },  
  },

查找了很多資料都沒有具體的解決方法,偶然在一個相同的問題下發現一個回復,讓把這兩個鏈接位置換一下,抱著試一試的態度換了,重新運行,結果兩個都可以獲取了。不知道什么原理???有知道的請指教!!!

正解:

proxyTable: {
   '/apiGas': {
    target: 'http://', // 接口域名
    changeOrigin: true, //是否跨域
    pathRewrite: {
     '^/apiGas':'/bsgzf/api/gas/'
    }
   }, 
   '/api': {
    target: 'http://', // 接口域名
    changeOrigin: true, //是否跨域
    pathRewrite: {
     '^/api': '/bsgzf/api/auth/' , //需要rewrite的,
    },
   }, 
  },

補充知識:Vue里的proxyTable解決跨域,api接口管理

本文單純的介紹Vue項目中接口的集中管理以及跨域的解決方法。

1.webpack里的proxyTable設置跨域:config->index.js

module.exports = {
 dev: {
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
  proxyTable: {
   '/api':{
    target:'http://localhost:80', //這里配置的是 請求接口的域名
    // secure: false, // 如果是https接口,需要配置這個參數
    changeOrigin: true, // 如果接口跨域,需要進行這個參數配置
    pathRewrite:{
     '^/api':'' //路徑重寫,這里理解成用'/api'代替target里面的地址.
    }
   }
  },
 }

2.設置api

2.1文件目錄

Vue proxyTable實現配置多個接口地址并解決跨域的問題

2.2 api.js 編碼

import axios from 'axios'

axios.defaults.baseURL = '/api';
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8';
axios.defaults.withCredentials = true

//接口自定義

//修改用戶信息接口
export const updateOneUser = params => {
 return axios.post('/anta/anta-back/src/php/updateUser.php', params)
  .then(res => res.data)
};

3.組件中引用

import {updateOneUser} from "../../api/api"
methods:{
  //給后臺發送數據
  var params = new URLSearchParams();
  params.append('userphone', this.watchStudentInfo.userphone);
  params.append('userpass', this.watchStudentInfo.userpass);
  console.log(params)
  updateOneUser(params).then(data=>{
   //后臺返回的數據
   if(data==1){
    //添加成功
    this.$message.success('修改成功')
   }else{
    //失敗
    this.$message.success('修改失敗')
   }
  }).catch(error=>{
   this.$message.success('修改失敗')
  })
}

以上就是Vue proxyTable實現配置多個接口地址并解決跨域的問題,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

杂多县| 遵义市| 漾濞| 德阳市| 昌邑市| 禄劝| 枣阳市| 巢湖市| 绥滨县| 灵石县| 浪卡子县| 寿光市| 杂多县| 芜湖市| 永胜县| 抚顺市| 贵溪市| 赤壁市| 汶川县| 铜川市| 尉犁县| 夏河县| 叶城县| 德令哈市| 略阳县| 浦北县| 林芝县| 南充市| 宜都市| 仪征市| 阿勒泰市| 日喀则市| 婺源县| 三江| 茶陵县| 太原市| 萨嘎县| 南京市| 合阳县| 双辽市| 梁山县|