it编程 > 前端脚本 > Ajax

AJAX 请求全面解析

51人参与 2026-03-23 Ajax

一、什么是 ajax?

ajax(asynchronous javascript and xml)
中文:异步 javascript 和 xml

本质

不刷新页面的情况下,与服务器进行数据交互

作用

二、ajax 的核心特点

特点说明
异步请求不阻塞页面运行
局部刷新只更新部分 dom
前后端通信使用 http 请求
数据格式灵活json(主流)、xml、text

三、ajax 工作原理

流程:

  1. 用户触发事件(点击按钮等)
  2. javascript 创建请求
  3. 发送 http 请求到服务器
  4. 服务器返回数据
  5. js 接收数据并更新页面

简化理解:

浏览器(js)  ←→  服务器(api)

四、ajax 实现方式(重点)

原生 xmlhttprequest(了解)

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();

readystate 状态

含义
0未初始化
1已建立连接
2已发送请求
3接收中
4完成

fetch(主流 )

fetch("/api/user")
  .then(res => res.json())
  .then(data => {
      console.log(data);
  })
  .catch(err => {
      console.error(err);
  });

优点

async / await(推荐 )

async function getuser() {
    try {
        const res = await fetch("/api/user");
        const data = await res.json();
        console.log(data);
    } catch (err) {
        console.error(err);
    }
}

最接近同步写法,面试加分项

五、常见请求方式(http)

方法用途
get获取数据
post提交数据
put更新数据
delete删除数据

六、发送 post 请求示例

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));

七、ajax 常见数据格式

json(最重要)

{
  "username": "admin",
  "age": 20
}

js 转换:

json.parse()   // 字符串 → 对象
json.stringify() // 对象 → 字符串

八、ajax 优缺点

优点

缺点

九、跨域问题(重点 )

什么是跨域

浏览器限制不同源之间的请求

不同源指:

解决方案

cors(最常用 )

服务器返回:

access-control-allow-origin: *

jsonp(已过时)

只支持 get

代理服务器(开发常用)

十、ajax 在项目中的应用

结合你现在做的用户管理系统,ajax可以用在:

示例

1. 登录

fetch("/api/login", { method: "post" })

2. 获取用户列表

fetch("/api/users")

3. 删除用户

fetch("/api/user/1", {
    method: "delete"
})

4. 修改用户信息

fetch("/api/user/1", {
    method: "put"
})

十一、ajax 面试常问问题

ajax 和 fetch 区别

ajax 是同步还是异步?

默认异步(可以同步但不推荐)

为什么推荐 async/await?

ajax 和 axios 区别?

十二、总结(核心记忆)

一句话理解:

ajax = 用 js 在后台偷偷请求数据,不刷新页面更新内容

到此这篇关于ajax 请求理解的文章就介绍到这了,更多相关ajax 请求内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

您想发表意见!!点此发布评论

推荐阅读

Ajax发送列表数据的方法

03-25

不同场景下使用Ajax发送列表数据的实践指南

03-25

AJAX请求次数过多的四种解决方案

12-24

AJAX表单验证项目实战之实时用户名检查功能

08-08

使用Ajax从前端向后端发起请求的方法示例

08-08

Ajax免刷新地前后端交互功能实例

08-08

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论