您好,登錄后才能下訂單哦!
這篇文章主要介紹了Vuejs2.0利用proxyTable實現跨域請求的示例,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
前言:
本地項目在請求遠端服務器接口時,不可避免的會遇到跨域問題,即便是設置了Access-Control-Allow-Origin:* ,在遇到登錄這些需要本地存入cookie的也會很頭痛,這里將介紹一個在vue-cli中配置代理來解決的辦法。
在~/config/dev-server.js中 使用了非常強大的http-proxy-middleware 包。
用法:
比如我們要請求的遠端服務器為:http://192.168.400:3000
proxyTable: { '/api/': { target: 'http://192.168.400:3000', changeOrigin:true, //set the option changeOrigin to true for name-based virtual hosted sites pathRewrite: { '^/api': '/api' } }, },
通過設置changeOrigin:true 開啟代理
pathRewrite 意為重寫路徑
示例:
比如要請求的接口為http://192.168.400:3000/api/main/getUserInfo.action
this.$http.post('/api/main/getUserInfo.action') .then(res=>{ console.log(res) })
后續:
在實際工作中,我們還需要做些其他的,比如在axios中配置baseUrl:
/** * Created by Administrator on 2017/4/11. */ import axios from 'axios'; // 添加響應攔截器 axios.interceptors.request.use(function (config) { // 配置發送請求的信息 return config; }, function (error) { return Promise.reject(error); }); axios.interceptors.response.use(function (response) { // 配置請求回來的信息 return response; }, function (error) { return Promise.reject(error); }); var http = axios.create({ timeout: 8000, /*設置請求超時時間*/ baseURL:'http://192.168.400:3000', }); // Alter defaults after instance has been created http.defaults.headers.common['Authorization'] = ''; export default http; /**導出http,在mainjs中引用 import http from './config/axiosConfig'; Vue.prototype.$http = http; **/
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Vuejs2.0利用proxyTable實現跨域請求的示例”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。