开发环境跨域请求
1. 在vue.config.js 中配置代理
// 配置 webpack-dev-server 行为。 devServer: { // open: process.platform === 'darwin', open: process.env.NODE_ENV === "development", host: '0.0.0.0', // 注意这个跟localhost port: 8080, https: false, hotOnly: true, // 查阅 https://github.com/vuejs/vue-doc-zh-cn/vue-cli/cli-service.md#配置代理 proxy: { '/': { // target: process.env.VUE_APP_URL, //对应自己的接口 target: 'http://39.103.134.227:32497', //对应自己的接口 注意开发环境的本地代理或者测试环境的代理,在部署到正式上时,一定要换成线上的IP地址,不然,数据拿不到哦 changeOrigin: true, ws: false, // pathRewrite: { // '^/api': '', // } } }, // string | Object before: app => {} },
2. vue中数据请求
sigin() { try { return new Promise((reslove) => { let _t = this; if (_t.isDefaultData == false) { // 登录接口请求 _t.$axios .post( "/base_user/xxx/xxx/signin", _t.params // 已在公共axios序列化 ) .then((res) => { if (res.status === 200) { if (res.data.ErrorCode === 0) { // 保存token // let token = { // AccessToken: res.data.Data.access_token, // }; // 存儲token console.log("登录中的" + this.getFromAndroidProject); console.log( "登录中的" + typeof this.getFromAndroidProject.isInitText ); console.log( "登录中的" + this.getFromAndroidProject.projectInfo.project_id ); localStorage.setItem( "AccessToken", res.data.Data.access_token ); // 存储是否初始化信息 // localStorage.setItem('getFromAndroidProject', JSON.stringify(this.getFromAndroidProject)) // 是否初始化过 存储到localStorage中 // localStorage.setItem('isInitText', this.getFromAndroidProject.isInitText) this.$store.commit( "SYSTEMISINIT", this.getFromAndroidProject.isInitText ); //登录成功判断是否初始化过 如果没初始化过, 进入选择项目选择空间 console.log( "登录中的" + this.getFromAndroidProject.isInitText ); reslove(res); } else { _t.$message.error(res.data.Message); // 验证码过期 刷新验证码 _t.getCodeImg(); } } }) .catch(function () { console.log("登录失败"); }); } }); } catch (err) { console.log(err); } },
3. 这样请求就可以啦