51人参与 • 2026-03-23 • Ajax
ajax(asynchronous javascript and xml)
中文:异步 javascript 和 xml
在不刷新页面的情况下,与服务器进行数据交互
| 特点 | 说明 |
|---|---|
| 异步 | 请求不阻塞页面运行 |
| 局部刷新 | 只更新部分 dom |
| 前后端通信 | 使用 http 请求 |
| 数据格式灵活 | json(主流)、xml、text |
流程:
简化理解:
浏览器(js) ←→ 服务器(api)
var xhr = new xmlhttprequest();
xhr.open("get", "/api/user", true);
xhr.onreadystatechange = function () {
if (xhr.readystate === 4 && xhr.status === 200) {
console.log(xhr.responsetext);
}
};
xhr.send();| 值 | 含义 |
|---|---|
| 0 | 未初始化 |
| 1 | 已建立连接 |
| 2 | 已发送请求 |
| 3 | 接收中 |
| 4 | 完成 |
fetch("/api/user")
.then(res => res.json())
.then(data => {
console.log(data);
})
.catch(err => {
console.error(err);
});async function getuser() {
try {
const res = await fetch("/api/user");
const data = await res.json();
console.log(data);
} catch (err) {
console.error(err);
}
}最接近同步写法,面试加分项
| 方法 | 用途 |
|---|---|
| get | 获取数据 |
| post | 提交数据 |
| put | 更新数据 |
| delete | 删除数据 |
fetch("/api/login", {
method: "post",
headers: {
"content-type": "application/json"
},
body: json.stringify({
username: "admin",
password: "123456"
})
})
.then(res => res.json())
.then(data => console.log(data));{
"username": "admin",
"age": 20
}js 转换:
json.parse() // 字符串 → 对象 json.stringify() // 对象 → 字符串
浏览器限制不同源之间的请求
服务器返回:
access-control-allow-origin: *
只支持 get
结合你现在做的用户管理系统,ajax可以用在:
fetch("/api/login", { method: "post" })fetch("/api/users")fetch("/api/user/1", {
method: "delete"
})
fetch("/api/user/1", {
method: "put"
})默认异步(可以同步但不推荐)
一句话理解:
ajax = 用 js 在后台偷偷请求数据,不刷新页面更新内容
到此这篇关于ajax 请求理解的文章就介绍到这了,更多相关ajax 请求内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论