Vue配置代理

跨域:

同源策略

:浏览器的一种安全协议,只要协议,主机,端口号,有一个不一致,就会产生同源策略。

解决跨域:

1、后台直接放开,优点:方便,缺点:不安全
2、JSONP :利用script标签不受同源策略的影响,需要后端配合()
3、配置代理

解决跨域:

1、后台直接放开,优点:方便,缺点:不安全
2、JSONP :利用script标签不受同源策略的影响,需要后端配合()
3、配置代理
在这里插入图片描述

为什么需要配置代理?

原因就是因为客户端请求服务端的数据是存在跨域问题的,而服务器和服务器之间可以相互请求数据,是没有跨域的概念(如果服务器没有设置禁止跨域的权限问题),也就是说,我们可以配置一个代理的服务器可以请求另一个服务器中的数据,然后把请求出来的数据返回到我们的代理服务器中,代理服务器再返回数据给我们的客户端,这样我们就可以实现跨域访问数据

-D 等价于 --save-dev
-S 等价于 --save

在vue.config.js中设置配置

//  配置代理
  devServer:{
    //不设置  重写  http://wkt.myhope365.com/weChat
    //设置重写    http://wkt.myhope365.com
    proxy:{
      '/api':{  //代理名称
      target:'https://course.myhope365.com/',
        changeOrigin:true,  //是否跨域
        // pathRewrite:{
        // '^/course-api':''  //路径重写
        // },
      }
    }
  }

路径重写:(正则)匹配以api开头的路径为空(将请求前缀删除)

对http进行封装:

// 对http请求进行封装
import axios from 'axios'
// 使用自定义的配置文件发送请求
const instance = axios.create({
    baseURL: '',
    timeout: 5000,
    headers: {}
});
// 添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});
// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    instance// 对响应数据做点什么
    if (response.status === 200) {
        return response.data;
    } else {
        console.error("请求错误")
        console.error(response)
    }
    return response;
}, function (error) {
// 对响应错误做点什么
    return Promise.reject(error);
});
export default instance

再建立一个js文件进行封装调用
例如:

导入
import http from "./axios"
//首页课程列表
export function getIndexCoueseList(){
    return http.post('/api/weChat/applet/subject/list', {enable: 1,})
}
//轮播图
export function getIndexCarousel(){
    return http.get('/api/weChat/applet/course/banner/list?number=5',)
}
//三个课程
export function  getCourse(type, pageNum, pageSize) {
    let url = new URLSearchParams()
    url.append('type', type)
    url.append('pageSize', pageSize)
    url.append('pageNum', pageNum)
    return http.post('/api/weChat/applet/course/list/type', url)
}

登录鉴权

什么是登录鉴权?
登录鉴权即验证用户是否拥有访问系统的权利。
实现授权的方式

  • cookie
  • session
  • token
  • OAuth
    凭证
    实现认证和授权的前提是需要一种媒介标记访问者的身份
    token令牌可以表明身份
    Cookie
    如何工作

    网页发HTTP请求时,浏览器会先检查是否有相应的cookie,有则自动添加在request header中的cookie字段中。
    作用
    HTTP是无状态的协议,需要cookie或session保存状态,告知服务器前后两个请求是否来自同一浏览器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值