vue.js前端框架技术

韩颜聪、谢翠兰、赵娟、黄秀明、张衡

目录

  • 1 前置知识
    • 1.1 JavaScript
    • 1.2 掌握ES6基础
    • 1.3 flex布局思维导图
  • 2 Vue.js入门
    • 2.1 学习指南
    • 2.2 Web前端开发概述
    • 2.3 第一个vue实例
    • 2.4 章节测试
  • 3 基础特性
    • 3.1 学习指南
    • 3.2 vue实例常用到的构造选项
    • 3.3 data数据对象
    • 3.4 methods方法
    • 3.5 常用指令
    • 3.6 事件修饰符
    • 3.7 计算属性与监听属性
    • 3.8 filters过滤器
  • 4 内置指令
    • 4.1 学习指南
  • 5 Vue项目化
    • 5.1 学习指南
    • 5.2 Vue CLI三个主要工具
    • 5.3 vue脚手架项目环境配置
    • 5.4 使用Vue Cli快速构建项目
      • 5.4.1 vue脚手架项目目录说明
  • 6 组件
    • 6.1 学习指南
    • 6.2 组件的简介
    • 6.3 组件的使用
    • 6.4 组件之间的通信
      • 6.4.1 父组件向子组件通信
      • 6.4.2 子组件向父组件通信
    • 6.5 组件实战案例
    • 6.6 内容分发slot(插槽)
  • 7 路由插件
    • 7.1 学习指南
    • 7.2 路由的基本使用
    • 7.3 路由传参及获取参数
  • 8 Axios插件
    • 8.1 学习指南
    • 8.2 axios的使用
    • 8.3 axios的使用总结
    • 8.4 跨域的解决
  • 9 课堂实操项目
    • 9.1 综合项目案例截图和素材
跨域的解决

跨域


1、为什么出现跨域

一般浏览器会有同源策略的限制。同源策略是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能会受影响。所谓同源(同一个域)就是指两个页面具有相同的协议(protocol)、主机(host)和端口号(port)

2、什么是跨域

当一个请求的url的协议、域名、端口号三者之间任意一个与页面当前的url不同即为跨域。

当前页面url被请求的url是否跨域原因

http://www.test.com

http://www.test.com/index.html



http://www.test.com

https://www.test.com/index.html

http://www.test.com

http://www.baidu.com

http://www.test.com:8080/

http://www.test.com:8081/

PS:一般跨域会出现如下报错:

3、vue项目中如何解决跨域

1、在项目的vue.config.js文件里面添加以下代码,如果没有vue.config.js文件则自己手动添加。

module.exports = {

  devServer: {

    proxy: {

      '/api': {

        // 这里是后台提供给我们的接口地址

        target: 'http://localhost:5000/',

        changeOrigin: true,  //允许跨域

        open:true,

        pathRewrite:{

          /* 当我们在浏览器看到的请求地址为:http://localhost:8080/api/User/GetAllUsers */

          /* 实际上我们访问的地址为:http://localhost:5000/User/GetAllUsers  因为重写了/api */

          /* 如果后台提供的接口本身就带有api,则无需执行重写路径这个步骤 例如:http://localhost:5000/api/User/GetAllUsers */

          '^/api':''  //重写路径

        }

      }

    }

  }

}

上面的代码采用的是proxy反向代理进行跨域的请求,原理是:将域名发送给本地服务器(启动的vue项目的服务器:例如 localhost:8080),再由本地服务器去请求真正的服务器。

2、在页面使用axios进行数据的请求