11_axios的配置对象.html 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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>Axios的配置对象</title>
  8. <!-- 引入axios -->
  9. <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  10. </head>
  11. <body>
  12. <button id="btn1">按钮1</button>
  13. <!-- <button id="btn2">按钮2</button> -->
  14. <script>
  15. //console.log(axios);
  16. document.getElementById("btn1").onclick = () =>{
  17. //直接调用axios发送请求
  18. //axios(config)
  19. axios({
  20. //baseURL:指定服务器的根目录(可以理解为是请求地址的前缀)
  21. baseURL:"http://localhost:3000",
  22. //请求地址
  23. url:"students",
  24. //请求方法,默认是get
  25. method:"post",
  26. //指定请求头(axios会自动判断,所以可以不用设置)
  27. //headers:{"Content-type":"application/json"}
  28. //请求体,会自动转换成json进行发送
  29. //或者以字符串的形式进行发送:
  30. //data:"name=唐僧&age=16"
  31. data:{
  32. name:"唐僧",
  33. age:18,
  34. gender:"男",
  35. address:"女儿国"
  36. },
  37. //params:用来指定路径中的查询字符串
  38. params:{
  39. id:"1",
  40. name:"swk"
  41. },
  42. //timeout:过期时间
  43. timeout:1000,
  44. //signal:用来终止请求,用法与fetch中的用法一样
  45. //transformRequest:可以用来处理请求数据(data)
  46. //它需要一个数组作为参数,数组可以接收多个函数,请求发送是多个函数会按照顺序执行
  47. //函数在执行时,会接收到两个参数data和headers
  48. //不常用,通常只在特殊情况下才使用
  49. // transformRequest:[function(data,headers){
  50. // //console.log(data);
  51. // //console.log(headers);
  52. // //可以在函数中对data和headers进行修改
  53. // data.name = "猪八戒"
  54. // headers["Content-Type"] = "application/json"
  55. // return data
  56. // },function(data,headers){
  57. // //下一个函数的data和headers是上一个函数执行的结果,
  58. // //如果上一个函数对data进行了修改,需要使用return返回,传给下一个函数
  59. // //console.log(data);
  60. // // console.log(headers);
  61. // //最后一个函数必须返回一个字符串,才能使得数据有效
  62. // return JSON.stringify(data)
  63. // }]
  64. }).then((res) =>{
  65. //res是axios封装过
  66. //console.log(res);
  67. console.log(res.data);
  68. }).catch((err) => {
  69. console.log("出错了",err);
  70. })
  71. }
  72. </script>
  73. </body>
  74. </html>