1. 跨域
- JSONP为什么能解决跨域问题: script标签的src属性并不被同源策略所约束。通过script标签引入js文件,这个js文件又会返回一个js函数调用,也就是请求后通过callback的方式回传结果。不受同源策略的限制;兼容性更好;支持老版本浏览器;只支持get请求;
- jsonp返回的内容和json有什么不同:json是理想的数据交换格式,但没办法跨域直接获取,于是就将json包裹(padding)在一个合法的js语句中作为js文件传过去。这就是json和jsonp的区别,json是想要的东西,jsonp是达到这个目的而普遍采用的一种方法,当然最终获得和处理的还是json。所以说json是目的,jsonp只是手段。json总会用到,而jsonp只有在跨域获取数据才会用到。
- CORS 跨域: 普通跨域请求:只需服务器端设置Access-Control-Allow-Origin;带cookie跨域请求:前后端都需要进行设置,根据xhr.withCredentials字段判断是否带有cookie
- vue-jsonp: vue中使用jsonp方式跨域
- 反向代理
module.exports = {
devServer: {
open: true,
proxy: {
"/api": {
target: "http://192.168.0.17:8088",
changeOrigin: true, //允许跨域
pathRewrite: {
"^/api": "",
//会将请求/api/xuanke/index.php替换为/xuanke/index.php
},
},
},
},
};
复制代码
2. CSS选择器( 三大特性 )
常用选择器:
- 标签选择器:
span { color: red }
- 通用选择器:
* {color: red }
- 类选择器:
.className: { color: red}
- id选择器:
#idName: {color: red}
- 后代选择器:
.parent .child {}
- 子选择器:
div > span {}
- 相邻兄弟选择器:
.parent + .child {}
- 通用兄弟选择器:
.parent ~ .child {}
- 并集选择器:
.parent ,.child {}
- 交集选择器:
div.className(#id)
css三大特性:
1、继承:父级文本样式被子级继承
2、层叠:当样式发生冲突时,权重低的样式会被覆盖
3、优先级:
!important > 行内样式 > id > 类 > 标签 > * > 继承
遵循就近原则