上位机知识篇---AJAX

什么是 AJAX?

简单说,AJAX 是一种让网页 "偷偷" 和服务器交换数据的技术

打个比方:你在网上购物时,筛选 "价格低于 100 元" 的商品,页面没有整体刷新,只是商品列表变了 ------ 这背后就是 AJAX 在工作。它能让网页在不重新加载整个页面的情况下,悄悄从服务器获取新数据并更新部分内容。

全称是 A synchronous J avaScript A nd XML(异步 JavaScript 和 XML),不过现在 XML 基本被 JSON 取代了,但名字保留了下来。

核心特点:"异步" 和 "局部更新"

  • 异步:网页发送请求后,不用等服务器回应,你可以继续在页面上做其他事(比如滚动、输入文字),不会像刷新页面那样 "卡住"。
  • 局部更新:只更新页面需要变化的部分(比如商品列表、评论区),不用重新加载整个页面,体验更流畅。

为什么需要 AJAX?

没有 AJAX 的时代,网页要更新数据必须 "整体刷新"------ 比如你在论坛发帖后,整个页面会白屏再重新加载。这就像:

  • 你想喝杯可乐,却要把整箱饮料都搬出来再放回去,效率低且体验差。

有了 AJAX 后,就像 "只拿出一瓶可乐"------ 只请求需要的数据,只更新变化的部分,页面不刷新,操作更顺畅。

工作流程(通俗版)

  1. 用户操作:比如点击 "加载更多" 按钮、输入搜索关键词。
  2. JS 发请求:网页里的 JavaScript 偷偷向服务器发送数据请求(比如 "给我第 2 页的商品数据")。
  3. 服务器处理:服务器收到请求,查询数据库,整理好数据(通常是 JSON 格式,像 "{商品 1:..., 商品 2:...}")。
  4. 服务器回应:把数据发回给网页。
  5. 更新页面:JavaScript 拿到数据后,只更新页面的对应部分(比如把新商品加到列表里),整个页面不刷新。

常见应用场景(举例说明)

  1. 搜索框实时提示

    比如在百度搜索时,你输入 "北京",下面立刻弹出 "北京天气""北京旅游" 等提示 ------ 这就是 AJAX 实时向服务器请求匹配的关键词,不用等你点击 "搜索"。

  2. 分页加载 / 无限滚动

    浏览微博时,下拉页面会自动加载更多内容,不用点击 "第 2 页";电商网站的 "加载更多商品" 按钮,点击后新商品直接加到列表末尾,都是 AJAX 的功劳。

  3. 表单提交无刷新

    注册账号时,输入手机号后,页面立刻提示 "该手机号已被注册"------ 这是 AJAX 偷偷把手机号发给服务器验证,不用等你点 "提交" 再刷新页面。

  4. 数据实时更新

    股票行情页面的价格每秒更新、外卖订单的 "骑手已接单""正在配送" 状态变化,都是 AJAX 定时向服务器请求最新数据并更新页面。

  5. 地图交互

    在高德地图上拖动地图时,新区域的街道、建筑会自动加载出来,不用重新刷新整个地图页面,背后也是 AJAX 在请求新区域的数据。

  6. 后台管理系统

    比如公司内部的订单管理系统,点击 "删除订单" 后,订单列表直接消失,不用刷新页面,操作更高效。

为什么好用?

  • 提升用户体验:避免页面刷新的 "白屏等待",操作更流畅,像用 APP 一样自然。
  • 减少数据传输量:只请求需要的数据(比如只要第 2 页商品),不像刷新页面那样传输整个页面的所有内容,节省流量和时间。
  • 提高页面响应速度:用户操作后能快速得到反馈(比如实时验证表单),不会觉得 "卡住了"。

总结

AJAX 不是一门新技术,而是一种 "用 JavaScript 异步请求数据并局部更新页面" 的技术方案。它的核心价值是让网页从 "僵硬的静态页面" 变成 "流畅的动态应用",现在几乎所有交互复杂的网站(电商、社交、工具类)都离不开它。

简单说:只要网页需要 "不刷新却能更新内容",就大概率用到了 AJAX

相关推荐
YGY Webgis糕手之路1 小时前
OpenLayers 综合案例-轨迹回放
前端·经验分享·笔记·vue·web
90后的晨仔1 小时前
🚨XSS 攻击全解:什么是跨站脚本攻击?前端如何防御?
前端·vue.js
Ares-Wang1 小时前
JavaScript》》JS》 Var、Let、Const 大总结
开发语言·前端·javascript
90后的晨仔1 小时前
Vue 模板语法完全指南:从插值表达式到动态指令,彻底搞懂 Vue 模板语言
前端·vue.js
德育处主任2 小时前
p5.js 正方形square的基础用法
前端·数据可视化·canvas
烛阴2 小时前
Mix - Bilinear Interpolation
前端·webgl
90后的晨仔2 小时前
Vue 3 应用实例详解:从 createApp 到 mount,你真正掌握了吗?
前端·vue.js
德育处主任2 小时前
p5.js 矩形rect绘制教程
前端·数据可视化·canvas
前端工作日常2 小时前
我学习到的babel插件移除Flow 类型注解效果
前端·babel·前端工程化
SY_FC2 小时前
uniapp input 聚焦时键盘弹起滚动到对应的部分
javascript·vue.js·elementui