ajax基础
0、HTTP协议
HTTP 超文本传输协议,协议详细规定了浏览器与万维网服务器之间互相通信的规则。
请求报文:

响应报文:

1、Ajax简介
- Ajax全称为Asynchronous JavaScript And XML,就是异步的JS和XML
- 通过Ajax可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据
- Ajax不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式
2、XML简介
- XML可扩展标记语言,被设计用来传输和存储数据
- XML和HTML类似,不同的是HTML中都是预定义标签,而XML中没有预定义标签,全部都是自定义标签,用来表示一些数据
1 | |
- 现在已经被JSON取代了
1
2
3
4
5
6// 用JSON表示:
{
"name": "孙悟空",
"age": 18,
"gender": "男"
}
3、Ajax特点
3.1、Ajax优点
- 可以在无需刷新页面与服务器进行通信
- 允许根据用户事件来更新部分页面内容
3.2、Ajax缺点
- 没有浏览历史,不能回退
- 存在跨域问题
- SEO优化不友好
4、发送ajax请求
4.1、原生ajax
1 | |
4.2、jquery发送ajax请求
1 | |
4.3、axios发送ajax请求
1 | |
4.4、fetch发送ajax请求
1 | |
5、跨域
5.1、同源策略
- 同源策略是浏览器的一种安全策略
- 同源:协议、域名、端口号必须完全相同
- 违背同源策略就是跨域
5.2、解决跨域-jsonp
- jsonp是什么:jsonp是一个非官方的跨域解决方案,凭借程序员的聪明才智开发出来,只支持get请求
- jsonp怎么工作的:在网页中有一些标签天生具有跨域能力,比如img、link、iframe和script。jsonp就是利用script标签的跨域能力来发送请求的
- jsonp的使用:
- 1)动态创建一个script标签
var script = document.createElement('script') - 2)设置script的src属性,设置回调函数
script.src = 'http://127.0.0.1:8000/check-username' - 3)将script标签插入到文档中
document.body.appendChild(script)
5.3、解决跨域-设置CORS响应头
- CORS是什么:跨域资源共享,CORS是官方的跨域解决方案,它的特点是不需要在客户端做任何特殊的操作,完全在服务器中进行处理,支持post和get请求。跨域资源共享标准新增了一组HTTP首部字段,允许服务器声明哪些源站通过浏览器访问哪些资源
- CORS是怎么工作的:CORS是通过设置一个响应头来告诉浏览器,该请求允许跨域,浏览器收到该响应以后就会对响应放行
- CORS的使用:
- 在服务端设置请求的响应头
response.setHeader('Access-Control-Allow-Origin', '*')

ajax基础
https://hanqinu.github.io/2022/01/06/ajax基础/