认识AJAX

一、什么是Ajax?

有跳转就是同步,无跳转就是异步

Asynchronous Javascript And XML(异步JavaScript和XML)

  • Ajax = 异步 JavaScript 和XML。
  • Ajax是一种用于创建快速动态网页的技术
  • 通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新
  • 传统的网页(不使用 Ajax)如果需要更新内容,必需重载整个网页面
  • Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术

使用AJAX可以局部刷新 (异步无刷新技术),提高用户体验(百度页面是整个刷新

XML已经完全被JSON替代,JSON是当前前后端数据交换的一种格式

二.AJAX的使用步骤

1.创建HTTP请求对象

|------------------------------------|
| var xhr = new XMLHttpRequest() |

2.打开服务器的连接,设置要请求的接口

|----------------------------------------------------------------------------------------------------------|
| xhr.open(参数1, 参数2, 参数3) 参数1:接口的请求方式,格式为大写,例如: GET POST... 参数2:接口的地址 参数3:是否为异步 true->异步 false->同步 默认是异步 |

3.发送请求

|------------|
| xhr.send() |

4.绑定事件,监听服务器端响应

|------------------------------------------------------|
| xhr.onload = function(){ xhr.responseText 获取接口响应结果 } |

html 复制代码
<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>用户登录------AJAX版</title>

</head>

<body>

用户<input type="text" id="user"><br>

密码<input type="text" id="pwd"><br>

<button id="btn">登录</button>

<script>

// 给按钮绑定点击事件,点击后获取用户名和密码,然后向后端发请求(AJAX),传递用户名和密码

btn.onclick=function(){

// alert('点击了')

// 获取用户输入的用户名和密码

var a=user.value

var b=pwd.value

console.log(a,b)

// 向后端发请求的行为叫做AJAX

// 1.创建HTTP请求对象

var xhr=new XMLHttpRequest()

// 2.打开服务器连接(请求接口)

// 参数1:接口请求方式(标准写法是大写)

// 参数2:接口地址

// 参数3:是否为异步 true->异步 false->同步

// get请求的参数要拼接到url后

xhr.open('GET',`http://127.0.0.1:3000/login?user=${a}&pwd=${b}`,true)

// 3.发送请求

xhr.send()

// 4.绑定事件,监听服务器端响应

// 只要有响应就自动调取

xhr.onload=function(){

// 获取响应结果,响应结果都在响应体里面

console.log(xhr.responseText)

}

}

</script>

</body>

</html>

三.AJAX传参

1.get传递

直接将参数拼接在URL中

http://127.0.0.1:3000/check?a=1\&b=2

2.post传递

将参数放入到请求体中,还需要设置编码类型

|-------------------------------------------------------------------------------------------------------------------------------|
| 设置编码类型 xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8') 将参数放入到请求体 xhr.send('a=1&b=2') |

四.JSON

后端给前端返回(前端也可以给后端),接口返回结果

叫做JS对象表示法,使用JS对象的格式去描述一组数据,是前后端数据交换的一种格式

属性名必须使用双引号,属性值是字符串必须是双引号

JS和JSON之间可以相互转换

(1)将JS转为JSON(序列化)

JSON.stringify()

(2)将JSON转为JS(反序列化)

JSON.parse()

相关推荐
天平3 小时前
油猴脚本创建webworker踩坑记录
前端·javascript·typescript
原则猫5 小时前
前端基础大厦
前端
陈随易6 小时前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
SoaringHeart7 小时前
Flutter进阶:基于 EasyRefresh 的下拉刷新封装 n_easy_refresh_mixin.dart
前端·flutter
IT_陈寒9 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰9 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
山河木马9 小时前
渲染管线-计算得到gl_Position(顶点着色器)之后续GPU流程
javascript·webgl·图形学
竹林81810 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
妙码生花10 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
Awu122711 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude