一、应用
AJAX目的是向服务器发请求,返回结果
懒加载:用则加载,不用则不加载
- 搜索框输入关键词会提醒相关搜索结果
- 百度注册页面,输入不正确的用户名会有红色字体信息提示
- 京东、淘宝的二级菜单栏,路由的切换
- 今日头条内容滚动到底部实现了刷新,导航栏切换,内容会变化,但是网页并没有重新刷新
AJAX向服务器发送的就是http请求
二、原生AJAX
1、AJAX简介
AJAX是异步的JS和XML
通过AJAX可以在浏览器中向服务器发送异步请求,最大的优势是无刷新获取数据
AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式
2、XML简介
- XML:可扩展标记语言
- XML被设计用来传输和存储数据
- XML和HTML类似,不同的是HTML中都是预定义标签,而XML中全都是自定义标签,用来表示一些数据,比如如下
3、AJAX特点
- 优点
- 可无需刷新页面而与服务器端进行通信
- 允许你根据用户事件来更新部分页面内容
- 缺点
- 没有浏览历史,不能回退
- 存在跨域问题(同源)
- 搜索引擎优化SEO不友好,爬虫爬不到
4、AJAX使用
4.1、AJAX-HTTP协议请求报文与相应文本结果
协议,即一种约定,一种规则
请求报文
包括:
- 行:请求方式(GET)/ URL地址 HTTP/版本号
- 头:格式为
名字 + :+ 空格
Host: baidu.com
Cookie: name=baidu
Content-type: application/www-www-www
User-Agent: chrom 83 - 空行:
- 体:GET方式时请求体为空,POST 方式时请求体不为空
username=admin&password=admin
响应报文
- 行:HTTP/版本号 状态码200 OK
- 头
Content-Type:text/html;charset=utf-8
Content-length:2048
Content-encoding:gzip - 空行
- 体
<html>
<head>
</head>
<body>
</body>
</html>
4.2、网络控制台查看通信报文
三、Express框架
支撑理论:先安装nodejs:进入官网,选择版本包,傻瓜式安装。
安装:npm install express --save
使用:
demo.js
// 1、引入express const express = require('express'); // 2、创建应用对象: // request 是对请求报文的封装 // response 是对响应报文的封装 const app = express(); // 3、创建路由规则 app.get('/',(request,response)=>{ // 设置响应 response.send('Hello Express'); }); // 4、监听端口启动服务 app.listen(8000,()=>{ console.log("服务已经启动,8000端口监听中。。。"); })
启动
demo.js
node demo.js
在网页中查看