当前位置:   article > 正文

AJAX——接口文档

AJAX——接口文档

1 接口文档

接口文档:描述接口的文章

接口:使用AJAX和服务器通讯时,使用的URL,请求方法,以及参数

传送门:AJAX阶段接口文档

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>接口文档</title>
  8. </head>
  9. <body>
  10. <button class="btn">用户登录</button>
  11. <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  12. <script>
  13. // 用户注册
  14. // axios({
  15. // url: 'http://hmajax.itheima.net/api/register',
  16. // method: 'post',
  17. // data: {
  18. // username: 'itheima007',
  19. // password: '7654321'
  20. // }
  21. // })
  22. document.querySelector('.btn').addEventListener('click', () => {
  23. // 用户登录
  24. axios({
  25. url: 'http://hmajax.itheima.net/api/login',
  26. method: 'post',
  27. data: {
  28. username: 'itheima007',
  29. password: '7654321'
  30. }
  31. })
  32. })
  33. </script>
  34. </body>
  35. </html>

2 案例-用户登录

1.点击登录时,判断用户名和密码长度

2.提交数据和服务器通信

3.提示信息

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>案例_登录</title>
  8. <!-- 引入bootstrap.css -->
  9. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css">
  10. <!-- 公共 -->
  11. <style>
  12. html,
  13. body {
  14. background-color: #EDF0F5;
  15. width: 100%;
  16. height: 100%;
  17. display: flex;
  18. justify-content: center;
  19. align-items: center;
  20. }
  21. .container {
  22. width: 520px;
  23. height: 540px;
  24. background-color: #fff;
  25. padding: 60px;
  26. box-sizing: border-box;
  27. }
  28. .container h3 {
  29. font-weight: 900;
  30. }
  31. </style>
  32. <!-- 表单容器和内容 -->
  33. <style>
  34. .form_wrap {
  35. color: #8B929D !important;
  36. }
  37. .form-text {
  38. color: #8B929D !important;
  39. }
  40. </style>
  41. <!-- 提示框样式 -->
  42. <style>
  43. .alert {
  44. transition: .5s;
  45. opacity: 0;
  46. }
  47. .alert.show {
  48. opacity: 1;
  49. }
  50. </style>
  51. </head>
  52. <body>
  53. <div class="container">
  54. <h3>欢迎-登录</h3>
  55. <!-- 登录结果-提示框 -->
  56. <div class="alert alert-success" role="alert">
  57. 提示消息
  58. </div>
  59. <!-- 表单 -->
  60. <div class="form_wrap">
  61. <form>
  62. <div class="mb-3">
  63. <label for="username" class="form-label">账号名</label>
  64. <input type="text" class="form-control username">
  65. </div>
  66. <div class="mb-3">
  67. <label for="password" class="form-label">密码</label>
  68. <input type="password" class="form-control password">
  69. </div>
  70. <button type="button" class="btn btn-primary btn-login"> 登 录 </button>
  71. </form>
  72. </div>
  73. </div>
  74. <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  75. <script>
  76. // 目标1:点击登录时,用户名和密码长度判断,并提交数据和服务器通信
  77. // 1.1 登录-点击事件
  78. document.querySelector('.btn-login').addEventListener('click', () => {
  79. // 1.2 获取用户名和密码
  80. const username = document.querySelector('.username').value
  81. const password = document.querySelector('.password').value
  82. // console.log(username, password)
  83. // 1.3 判断长度
  84. if (username.length < 8) {
  85. console.log('用户名必须大于等于8位')
  86. return // 阻止代码继续执行
  87. }
  88. if (password.length < 6) {
  89. console.log('密码必须大于等于6位')
  90. return // 阻止代码继续执行
  91. }
  92. // 1.4 基于axios提交用户名和密码
  93. // console.log('提交数据到服务器')
  94. axios({
  95. url: 'http://hmajax.itheima.net/api/login',
  96. method: 'POST',
  97. data: {
  98. username,
  99. password
  100. }
  101. }).then(result => {
  102. console.log(result)
  103. console.log(result.data.message)
  104. }).catch(error => {
  105. console.log(error)
  106. console.log(error.response.data.message)
  107. })
  108. })
  109. </script>
  110. </body>
  111. </html>

3 案例-登录-提示消息

1.点击登录时,判断用户名和密码长度

2.提交数据和服务器通信

3.提示信息

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>案例_登录_提示消息</title>
  8. <!-- 引入bootstrap.css -->
  9. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css">
  10. <!-- 公共 -->
  11. <style>
  12. html,
  13. body {
  14. background-color: #EDF0F5;
  15. width: 100%;
  16. height: 100%;
  17. display: flex;
  18. justify-content: center;
  19. align-items: center;
  20. }
  21. .container {
  22. width: 520px;
  23. height: 540px;
  24. background-color: #fff;
  25. padding: 60px;
  26. box-sizing: border-box;
  27. }
  28. .container h3 {
  29. font-weight: 900;
  30. }
  31. </style>
  32. <!-- 表单容器和内容 -->
  33. <style>
  34. .form_wrap {
  35. color: #8B929D !important;
  36. }
  37. .form-text {
  38. color: #8B929D !important;
  39. }
  40. </style>
  41. <!-- 提示框样式 -->
  42. <style>
  43. .alert {
  44. transition: .5s;
  45. opacity: 0;
  46. }
  47. .alert.show {
  48. opacity: 1;
  49. }
  50. </style>
  51. </head>
  52. <body>
  53. <div class="container">
  54. <h3>欢迎-登录</h3>
  55. <!-- 登录结果-提示框 -->
  56. <div class="alert alert-success" role="alert">
  57. 提示消息
  58. </div>
  59. <!-- 表单 -->
  60. <div class="form_wrap">
  61. <form>
  62. <div class="mb-3">
  63. <label for="username" class="form-label">账号名</label>
  64. <input type="text" class="form-control username">
  65. </div>
  66. <div class="mb-3">
  67. <label for="password" class="form-label">密码</label>
  68. <input type="password" class="form-control password">
  69. </div>
  70. <button type="button" class="btn btn-primary btn-login"> 登 录 </button>
  71. </form>
  72. </div>
  73. </div>
  74. <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  75. <script>
  76. // 目标1:点击登录时,用户名和密码长度判断,并提交数据和服务器通信
  77. // 目标2:使用提示框,反馈提示消息
  78. // 2.1 获取提示框
  79. const myAlert = document.querySelector('.alert')
  80. /**
  81. * 2.2 封装提示框函数,重复调用,满足提示需求
  82. * 功能:
  83. * 1. 显示提示框
  84. * 2. 不同提示文字msg,和成功绿色失败红色isSuccess(true成功,false失败)
  85. * 3. 过2秒后,让提示框自动消失
  86. */
  87. function alertFn(msg, isSuccess) {
  88. // 1> 显示提示框
  89. myAlert.classList.add('show')
  90. // 2> 实现细节
  91. myAlert.innerText = msg
  92. const bgStyle = isSuccess ? 'alert-success' : 'alert-danger'
  93. myAlert.classList.add(bgStyle)
  94. // 3> 过2秒隐藏
  95. setTimeout(() => {
  96. myAlert.classList.remove('show')
  97. // 提示:避免类名冲突,重置背景色
  98. myAlert.classList.remove(bgStyle)
  99. }, 2000)
  100. }
  101. // 1.1 登录-点击事件
  102. document.querySelector('.btn-login').addEventListener('click', () => {
  103. // 1.2 获取用户名和密码
  104. const username = document.querySelector('.username').value
  105. const password = document.querySelector('.password').value
  106. // console.log(username, password)
  107. // 1.3 判断长度
  108. if (username.length < 8) {
  109. alertFn('用户名必须大于等于8位', false)
  110. console.log('用户名必须大于等于8位')
  111. return // 阻止代码继续执行
  112. }
  113. if (password.length < 6) {
  114. alertFn('密码必须大于等于6位', false)
  115. console.log('密码必须大于等于6位')
  116. return // 阻止代码继续执行
  117. }
  118. // 1.4 基于axios提交用户名和密码
  119. // console.log('提交数据到服务器')
  120. axios({
  121. url: 'http://hmajax.itheima.net/api/login',
  122. method: 'POST',
  123. data: {
  124. username,
  125. password
  126. }
  127. }).then(result => {
  128. alertFn(result.data.message, true)
  129. console.log(result)
  130. console.log(result.data.message)
  131. }).catch(error => {
  132. alertFn(error.response.data.message, false)
  133. console.log(error)
  134. console.log(error.response.data.message)
  135. })
  136. })
  137. </script>
  138. </body>
  139. </html>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/104494?site
推荐阅读
相关标签
  

闽ICP备14008679号