当前位置:   article > 正文

Axios(二)_axios2

axios2

1.axios的基本使用

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>axios基本使用</title>
  8. <link crossorigin="anonymous" href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
  9. <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
  10. </head>
  11. <body>
  12. <div class="container">
  13. <h2 class="page-header">基本使用</h2>
  14. <button class="btn btn-primary"> 发送GET请求 </button>
  15. <button class="btn btn-warning" > 发送POST请求 </button>
  16. <button class="btn btn-success"> 发送 PUT 请求 </button>
  17. <button class="btn btn-danger"> 发送 DELETE 请求 </button>
  18. </div>
  19. <script>
  20. //获取所有按钮
  21. const btns = document.querySelectorAll('button');
  22. //给第一个按钮绑定事件
  23. btns[0].onclick = function(){
  24. //发送 AJAX 请求
  25. axios({
  26. //请求类型
  27. method: 'GET',
  28. //URL
  29. url: 'http://localhost:3000/posts/2',
  30. //then方法指定成功的回调
  31. }).then(response => {
  32. console.log(response);
  33. });
  34. }
  35. //添加一篇新的文章
  36. btns[1].onclick = function(){
  37. //发送 AJAX 请求
  38. axios({
  39. //请求类型
  40. method: 'POST',
  41. //URL
  42. url: 'http://localhost:3000/posts',
  43. //设置请求体
  44. data: {
  45. title: "今天天气不错, 还挺风和日丽的",
  46. author: "张三"
  47. }
  48. }).then(response => {
  49. console.log(response);
  50. });
  51. }
  52. //更新数据
  53. btns[2].onclick = function(){
  54. //发送 AJAX 请求
  55. axios({
  56. //请求类型
  57. method: 'PUT',
  58. //URL 把id为3的张三改成李四
  59. url: 'http://localhost:3000/posts/3',
  60. //设置请求体
  61. data: {
  62. title: "今天天气不错, 还挺风和日丽的",
  63. author: "李四"
  64. }
  65. }).then(response => {
  66. console.log(response);
  67. });
  68. }
  69. //删除数据
  70. btns[3].onclick = function(){
  71. //发送 AJAX 请求
  72. axios({
  73. //请求类型
  74. method: 'delete',
  75. //URL
  76. url: 'http://localhost:3000/posts/3',
  77. }).then(response => {
  78. console.log(response);
  79. });
  80. }
  81. </script>
  82. </body>
  83. </html>

2. axios其他方式发送请求

 

 

  1. <script>
  2. //获取按钮
  3. const btns = document.querySelectorAll('button');
  4. //发送 GET 请求
  5. btns[0].onclick = function(){
  6. // axios()
  7. axios.request({
  8. method:'GET',
  9. url: 'http://localhost:3000/comments'
  10. }).then(response => {
  11. console.log(response);
  12. })
  13. }
  14. //发送 POST 请求
  15. btns[1].onclick = function(){
  16. // axios()
  17. axios.post(
  18. 'http://localhost:3000/comments',
  19. {
  20. "body": "喜大普奔",
  21. "postId": 2
  22. }).then(response => {
  23. console.log(response);
  24. })
  25. }

3. axios请求响应结果的结构

config:配置对象,包括请求类型,请求url,请求体等等数据

data:响应体的结果,axios自动将服务器返回结果做了json解析成了对象,方便对结果处理

hesders:响应的头信息

request:原生的ajax请求对象,request这个属性所保存的是axios在发送请求时所创建的ajax对象(HTMLttpRequest实例对象)

status:响应状态码

statusText:响应的状态字符串

4.axios配置对象详细说明config

url:给谁发送请求

method:请求类型get/post

baseURL:设定url的基础结构,设置url就只需要设置后面的路径(和url结合形成最终的url结果)

transformRequest:对请求的数据进行一个处理,将处理后的结果发送给服务器

transformResponse:对响应的结果做一些改变

hesders:对请求头信息做一个配置,eg:进行身份校验的时候要求在头信息中加入特殊的标识

params:设定url参数的,eg:a:100,b:200变成字符串缀到url后面,向服务端发送请求

 timeout:超过请求时间就会结束

ResponseType:对响应体结果格式进行设置,服务器返回结果默认值是JSON格式

maxRedirects:最大跳转次数5次,向一个服务发送请求以后跳转,最多5次,node.js里面用的多

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

闽ICP备14008679号