跨域的理解(axios)


什么是跨域

浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 。前后端分离开发中,需要考虑ajax跨域的问题。

1、配置axios代理

// 开启代理服务器(方式一)不能配置多个代理
devServer: {
    proxy:'http://localhost:8001'
} 

//开启代理服务器(方式二)可以配置多个代理
devServer: {
    proxy: {
        '/jojo': {
            target: 'http://localhost:8001',    
            pathRewrite:{'^/jojo':''},
            // ws: true, //用于支持websocket,默认值为true
            // changeOrigin: true //用于控制请求头中的host值,默认值为true
        },
        '/atguigu': {
            target: 'http://localhost:8002',
            pathRewrite:{'^/atguigu':''},
            // ws: true, //用于支持websocket,默认值为true
            // changeOrigin: true //用于控制请求头中的host值,默认值为true
        }
    }
}

2、axios使用
axios可以带数据发送请求给后端

 axios.get(`https://api.github.com/search/users?q=${this.input}`).then(
    response => {
        console.log('成功访问dao数据',response.data)
    },
    error => {
        console.log('错误信息',error.message)
    }
  )

3、vue中qs的使用(跨域携带参数)

  1. 安装

npm install qs

  1. 组件中声明应用

import qs from ‘qs’

  1. 使用
qs.parse()是将URL解析成对象的形式

qs.stringify()是将对象 序列化成URL的形式,以&进行拼接
 4. 实例
let data = qs.stringify({
    "username":this.username,
    "password":this.password
});

结果:

username=liao&password=123456

4、axios与qs的使用

const data = {
    hid: this.hid,
    amount: this.roompeople,
}
// 查询出酒店信息成功后,通过酒店的hid来查询所属该酒店的全部房间信息
axios.post('http://localhost:9527/room/getRoomByHid',qs.stringify(data)).then(
    request =>{
        const code = request.data.code
        if(code === 200){
        	this.hotel = response.data.data
        }else{
            console.log('通过酒店hid查询酒店信息失败')
        }
    }
)

补充:vue-resource

为vue团队开发,1.0版本后不在维护

//main.js声明与使用

import vueResource from ‘vue-resource’

Vue.use(vueResource)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值