1、项目中第一次跟后台尝试调用接口是否正常,我前段遇到一些报错,并且请求不了(跨域报错以及405 请求方法错误),如图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200714154119981.png
在这里插入图片描述
在这里插入图片描述

我的config配置是这样的:
在这里插入图片描述

咨询大佬说,这是多配置代理跨域,而且我自己还封装了接口
在这里插入图片描述
最后在页面调用接口,但是一直报跨域问题
后来的后来,大佬的思路是:虽然配置了代理,但是页面中未使用到。所以自己又重新配置了。
vue.config.js配置未改动

api/http.js
import axios from 'axios' // 引用axios
import config from '@/api/config'

const _baseUrl = config.baseUrl.dev // 使用到代理
const apiUrl = _baseUrl
// axios 配置
axios.defaults.timeout = 6000 // 设置接口响应时间
axios.defaults.baseURL = apiUrl // 这是调用数据接口,公共接口url+调用接口名
封装get请求
export function get (url, params = {}) {
  return new Promise((resolve, reject) => {
    axios
      .get(url, {
        params: params
      })
      .then(response => {
        resolve(response)
      })
      .catch(err => {
        reject(err)
      })
  })
}
封装post请求
export function post (url, data = {}) {
  return new Promise((resolve, reject) => {
    axios.post(url, data).then(
      response => {
        // console.log(response.data.code)
        resolve(response.data)
      },
      err => {
        reject(err)
      }
    )
  })
}

api/config.js
export default {
  baseUrl: {
    dev: '/api' // 开发环境
    // dev: 'http://xxx.xx.xx.xx:8080'
    // pro: "http://production.com" 生产环境
  }
}
index.js
import { get, post } from '@/api/http'

export const login = p => get('/Login', p)
export const setMoble = () => get('/t')
export const loginPost = () => post('/GateWeb/Test')

最后在页面中导入接口,调用就可以了

import { setMoble } from '@/api/index.js'
btn(){
	setMoble() // 调用接口
        .then(res => {
          console.log(res)
          if (res.body === 'fail') {
            alert('用户名或密码错误,请重新输入')
            this.ruleForm.userName = ''
            this.ruleForm.password = ''
          } else {
            alert('登录成功')
            this.$router.push('/index')
          }
        })
        .catch(err => {
          console.log(err)
        })
    },
}

最近很流行,你看我还有机会吗?,哈哈

Logo

前往低代码交流专区

更多推荐