学习网站:https://www.bilibili.com/video/BV1WC4y1b78y?from=search&seid=16562824139616986496&spm_id_from=333.337.0.0
1.在网页不刷新的情况下,发送HTTP请求,得到HTTP响应。
懒加载。
2.XML可扩展标记语言,被设计用来传输和存储数据。和HTML类似。
现在被JSON取代,可以快速将字符串转成JSON对象。
3.优点:不刷新
允许根据用户的事件来更新部分页面内容。(鼠标事件)
缺点:没有浏览历史,不能回退。
存在跨域问题。(两个不同的网站发送信息)
SEO不友好。(通过AJAX动态创建的页面,通过爬虫爬不到)
4.HTTP协议
请求报文。
响应报文。
格式与参数:
请求报文:
请求行 GET/POST +url路径(&ie=UTF-8) HTTP/1.1(版本)
请求头 Host:atfuifu.com
Cookie:name=guigu
Content-type:
User-Agent:chrome 83
空行
请求体 usernam=admin&password=admin
(GET请求,请求体是空的,如果是POST请求,请求体不为空)
响应报文:
行 HTTP/1.1(版本)200/404/401(响应状态码) OK(响应状态字符串)
头
Content-type:
Content-length:2048
Content-encoding:gzip
空行
响应体
> <html>
> <head>
> </head>
> <body>......
5.在谷歌浏览器查看请求报文
点击刷新
6.nodejs是用来解析js代码,而ajax需要一个服务端
7.express框架使用
cnpm install express --save
cnpm 是一个包管理工具
ajax需要给服务端发送请求
//1.引入express
const express = require('express');
//2.创建应用对象
const app = express();
//3.创建路由规则
//request 是对请求报文的封装
//response 是对响应报文的封装
app.get('/',(request,response)=>{
//设置响应
response.send('HELLO EXPRESS');
});
//4.监听端口启动服务
app.listen(8000,()=>{
console.log("服务已经启动,8080端口监听中....");
});
8.GET和POST参数设置的位置不一样
9.服务端响应json数据
10.nodemon自动重启服务
经常修改服务端代码 来回重启很麻烦
基于npm安装 基于nodejs安装
cnpm install nodemon --save
11.IE缓存问题
AJAX会对请求结果做一个缓存,下一次在请求的是本地缓存 不是最新的数据 对于时效性比较强的会影响结果
12.请求超时
13.jQuery发送AJAX请求
jQuery 是一个 JavaScript 库。
jQuery 极大地简化了 JavaScript 编程。
14.axios发送AJAX请求