目录
一、原生Ajax
1.1 Ajax简介
- Ajax全称为Asynchronous Javascript And XML,即异步JS和XML
- 通过Ajax可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据
- AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式
1.2 XML简介
- XML:可扩展标记语言
- XML:被设计用来传输和存储数据
- XML和HTML类似,不同点:HTML中都是预定义标签,XML中没有预定义标签,全是自定义标签,用来表示一些数据
- 现在已被JSON取代
1.3 AJAX 的特点
1.3.1 AJAX的优点
- 可以无刷新页面与服务端进行通信
- 允许你根据用户事件来更新部分页面内容
1.3.2 AJAX 的缺点
- 没有浏览历史,不能回退
- 存在跨域问题(同源)
- SEO不友好(爬虫获取不到信息)
1.4 AJAX 的使用
1.4.1AJAX的基本操作
在开始使用前先创建两个文件test.html和test.js分别作为前端和后端。
首先通过nodejs+express搭建后端服务:(为方便测试可安装nodemon)
//安装express npm i express
//导入express
const express = require('express')
//创建应用对象
const app=express()
//创建路由规则
app.get('/server',(req,res)=>{
res.send('你好')
})
//监听端口启动服务
app.listen(8000,()=>{
console.log('服务器启动');
})
前端界面准备:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
#result{
width: 200px;
height: 100px;
border: solid 1px #90b;
}
</style>
</head>
<body>
<button>点击发送请求</button>
<div id="result"></div>
</body>
</html>
页面如下:

现要实现点击按钮后获取服务器请求数据,代码如下:
<script>
//获取元素
const btn=document.getElementsByTagName('button')[0]
const result=document.getElementById('result')
//绑定事件
btn.onclick=function(){
//创建对象
const xhr=new XMLHttpRequest();
//初始化 设置请求方法和url
xhr.open('GET','http://127.0.0.1:8000/server')
//发送
xhr.send()
//事件绑定,处理服务端返回的结果
//readystate 是xhr对象属性,状态为0,1,2,3,4(4为服务器返回所有结果)
xhr.onreadystatechange=function(){
//判断服务器返回了所有结果
if(xhr.readyState===4){
//判断状态码
if(xhr.status>=200&&xhr.status<300){
//xhr.status为响应状态码 xhr.statusText 状态字符串 xhr.response 响应体
result.innerHTML=xhr.response
}
}
}
}
</script>
1.4.2AJAX的传参
xhr.open('GET','http://127.0.0.1:8000/server?a=1&b=2')
1.4.3 AJAX的post请求及设置请求体
xhr.open


8758

被折叠的 条评论
为什么被折叠?



