您的位置:首页 > 娱乐 > 明星 > 广州有什么好玩的地方和风景好_海外品牌推广_百度广告联盟平台官网_网络广告文案案例

广州有什么好玩的地方和风景好_海外品牌推广_百度广告联盟平台官网_网络广告文案案例

2025/5/4 16:22:24 来源:https://blog.csdn.net/2402_84971234/article/details/145678038  浏览:    关键词:广州有什么好玩的地方和风景好_海外品牌推广_百度广告联盟平台官网_网络广告文案案例
广州有什么好玩的地方和风景好_海外品牌推广_百度广告联盟平台官网_网络广告文案案例

目录

详细介绍:

代码:

程序运行结果:

学习要点:


这个示例展示了如何封装一个简易的 axios 函数来注册用户。它使用 XMLHttpRequest 实现 AJAX 请求,并且支持发送带有请求体的数据。具体步骤如下:

  1. 封装 myAxios 函数:
    myAxios 是一个封装的函数,使用 XMLHttpRequest 发起请求。如果请求配置中包含 data,它会将数据转换为 JSON 字符串并设置请求头为 Content-Type: application/json,然后通过 xhr.send() 发送数据。如果没有数据,直接发送空请求。

  2. 注册用户:
    当点击页面上的 "注册用户" 按钮时,myAxios 函数会发起一个 POST 请求,发送用户的 usernamepassword 到服务器的注册接口。

  3. 请求成功与失败处理:
    如果注册成功(HTTP 状态码 2xx),会显示 "注册成功"。如果账号已经被占用或请求失败,会显示错误信息,如 "账号已被占用"。

代码:

以下是 HTML 和 JavaScript 完整代码,包含一个简单的用户注册功能。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>封装_简易axios函数_注册用户</title>
</head><body><h1 class="my-h"></h1><button class="reg-btn">注册用户</button><script>/*** 目标:封装_简易axios函数_注册用户*  1. 判断有data选项,携带请求体*  2. 转换数据类型,在send中发送*  3. 使用myAxios函数,完成注册用户*/function myAxios(config) {return new Promise((resolve, reject) => {const xhr = new XMLHttpRequest()xhr.open(config.method || 'GET',config.url)xhr.addEventListener('loadend', () => {if (xhr.status >= 200 && xhr.status < 300) {resolve(JSON.parse(xhr.response))} else {reject(new Error(xhr.response))}})if(config.data){const jsonStr = JSON.stringify(config.data)xhr.setRequestHeader('Content-Type','application/json')xhr.send(jsonStr)}else{xhr.send()}})}document.querySelector('.reg-btn').addEventListener('click', () => {myAxios({url:'http://hmajax.itheima.net/api/register',method:'POST',data:{username:'xiaoning2',password:'123456'}}).then(result => {console.log(result);document.querySelector('.my-h').innerHTML = '注册成功'}).catch(error => {console.dir(error);document.querySelector('.my-h').innerHTML = '账号已被占用'})})</script>
</body></html>

程序运行结果:

  1. 注册成功:
    如果请求成功(即账号没有被占用),页面会显示 "注册成功"。

  2. 注册失败:
    如果请求失败,可能是因为账号已经被占用,页面会显示 "账号已被占用"。

  3. 控制台输出:
    如果请求成功,控制台会输出注册接口的响应结果。如果失败,则会输出错误信息,便于调试。

学习要点:

  • 封装 XMLHttpRequest:本例通过封装 XMLHttpRequest 实现了类似 axios 的功能,适合初学者学习如何处理 AJAX 请求。
  • 异步请求与错误处理:展示了如何使用 Promise 来处理异步操作,并且使用 thencatch 分别处理成功和失败的结果。

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com