赞
踩
0206晚8点 视频面试
会发生跨域的问题,是因为浏览器的安全策略:同源策略,要求同协议、同域名、同端口。发送请求时,只要有个存在不同,且是ajax请求的,直接访问就一定会发生跨域,响应被拦截。解决方案有:
第一、jsonp,利用的是浏览器允许html通过标签从不同域名下加载资源,可通过script标签src属性发起请求,该请求可额外携带一个callback参数,参数值是在发送请求前已定义好的函数,并将其响应结果通过该函数的参数返回给服务器。但具有局限性,只能发送 get 请求。
第二、cors,跨域资源共享,只服务端设置Access-Control-Allow-Origin即可,前端无须设置,若要带cookie请求,前后端都需要设置。
第三、nginx反向代理,利用服务器请求服务器不受浏览器同源策略的限制,通过nginx配置一个代理服务器作为跳板,客户端访问nginx服务器,nginx服务器反向代理真正的服务器,返回响应数据
第四、node中间代理跨域,利用node+webpack+webpack-dev-server代理接口跨域,在其webpack.config.js配置文件进行配置
父传子: 第一种,父组件调用子组件,v-bind绑定属性或函数,子组件通过props接收;第二种,子组件直接通过this.$parent
来获取父组件的属性和方法
子传父: 第一种,父组件调用子组件,v-on监听函数,子组件通过this.$emit(函数名, 参数)
触发;第二种,父组件调用子组件,绑定ref,父组件通过this.$refs.名称
来获取子组件的属性和方法
非父子: 总线bus(消息公交车),利用发布订阅模式,在main.js文件初始化Vue构造函数的显示原型 prototype的属性$bus
为new Vue();后面就是监听this.$bus.on(名称, 回调函数)
,发布触发this.$bus.emit(名称, 参数)
,销毁this.$bus.off(名称)
Promises、数据结构赋值、箭头函数、let/const块级作用域、类的支持、symbols、模块化module、模板字符串、对象属性的简写、async/await
承诺将来会执行的
es6新增的一个构造函数,是为了解决异步操作中数据调用嵌套的问题,避免回调地狱
promise本身相当于一个状态机,有三种状态:pending等待、fulfilled成功、rejected失败。
构建Promise对象时,会传入一个执行器函数,resolve和reject两个函数作
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。