vue工程本地代码请求http发生跨域提示错误解决方法
生活随笔
收集整理的這篇文章主要介紹了
vue工程本地代码请求http发生跨域提示错误解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個可以使用代理進行跨域,這樣看來跨域的方法就有幾種了,對于iframe中的用postmassage,對于vue工程中的跨域則使用代理模式。
代理模式配置如下:
在config文件夾下找到index.js文件。找到module.exports下邊的proxyTable屬性,改成:
// proxyTable: {},//代理才能跨域發送請求proxyTable: devEnv.OPEN_PROXY === false ? {} : {'/proxyApi': {target: 'http://192.168.10.30:10308/',//目的ipchangeOrigin: true,//跨域pathRewrite: {'^/proxyApi': '/'}}},其中devEnv是我從當前同目錄文件夾下的dev.env.js中const devEnv = require('./dev.env')引入的變量。dev.env.js內容為:
'use strict' const merge = require('webpack-merge') const prodEnv = require('./prod.env')module.exports = merge(prodEnv, {NODE_ENV: '"development"',OPEN_PROXY: true // 是否開啟代理, 重置后需重啟vue-cli })另外在配置下axios請求路徑中的
const defaultBaseUrl = 'http://192.168.10.30:10308' const BASEURL = process.env.NODE_ENV != 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : defaultBaseUrl export default {//接口代理配置loginTocken:BASEURL+'/config/user_login.action',}其中process.env值在dev.env.js中:
'use strict' const merge = require('webpack-merge') const prodEnv = require('./prod.env')module.exports = merge(prodEnv, {NODE_ENV: '"development"',OPEN_PROXY: true // 是否開啟代理, 重置后需重啟vue-cli })結果:
劃紅線的地方就被代理到那個IP地址了。
順便說下,里邊加個時間戳的作用,是為了防止本地緩存的作用。
轉載于:https://www.cnblogs.com/sweeeper/p/11282137.html
總結
以上是生活随笔為你收集整理的vue工程本地代码请求http发生跨域提示错误解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自我的成长
- 下一篇: 在vue项目中引入高德地图及其UI组件的