vue结合axios发送请求中产生的问题

上次从后端的角度解决了跨域的问题,实际上含有nignx动态代理的服务器接口访问配置是不需要考虑同源问题的,只需要保证浏览器别拒绝发出请求即可。那么我就将所谓的axios结合vue去测试数据的获取了。


首先要在vue项目中导入axios:

打开终端命令窗:输入npm install axios --save 下载完成后就可以使用axios请求库了。

可以直接写通用请求的样式代码:

export const GET = (url, params) => {
    return axios.get(`${base}${url}`, { params: params }).then(res => res.data)
}

这里的base就是服务器的统一接口入口:例如localhost:8080/api/

后面的url则是具体访问的请求接口,后面的params则是参数。

export default {
    login: params => {
        return API.GET('User/login', params)
    }
}

规范时只需要新建立一个js文件,将功能接口名配置好请求路径,至于后面的参数则是在其他的vue脚本中写方法时加入的,例如:

import api from './api/api'


let params = {
  userAccount: '1001',
  password: '1001'
}
api.login(params).then(function (response) {
  if (response.code == 1) {
    alert('自动校验axios成功')
  }
})

这里我们将这个代码写入main.js中,会发现运行vue项目并访问8080端口时直接就是调用login方法

可是我将其写到组件中,当我用APP组件调用这个组件时,却无法发起任何请求,这个问题应该是我们需要通过组件间通信的方式使得最后的请求方法跑到main.js中?可能是VM实例的缘故,我们知道组件其实是一个VC实例,但是VM实例才是掌控model AND view 中的数据与视图交互的重要枢纽。众多的VC也是由一个大的VM进行管理的,所以可以对外部网络发起请求的处理链路应该是追溯到组件树的根节点VM上发起才合理。

因为学习vue项目的相关视频我没有看了,所以这个猜测后续等我看完了vue项目的视频后会给出相应的结论。这个猜测先留在这里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ForestSpringH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值