当前位置:   article > 正文

Java Web学习笔记20——Ajax-Axios

Java Web学习笔记20——Ajax-Axios

Axios:

介绍:Axios对原生的Ajax进行封装,简化书写,快速开发。

官网:https://www.axios-http.cn

Axios 入门:

{}是Js的对象。

get的请求参数是在URL后面?和相关参数值。

post的请求参数是在请求体中的。

成功回调函数:

js对象result,result.data就可以拿到result这个对象的data属性,data属性里面就是服务端响应回来的数据。 

案例:

  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>Ajax-Axios</title>
  8. <script src="js/axios-0.18.0.js"></script>
  9. </head>
  10. <body>
  11. <input type="button" value="获取数据GET" onclick="get()">
  12. <input type="button" value="删除数据POST" onclick="post()">
  13. </body>
  14. <script>
  15. function get(){
  16. //通过axios发送异步请求-get
  17. // axios({
  18. // method: "get",
  19. // url: "http://yapi.smart-xwork.cn/mock/169327/emp/list"
  20. // }).then(result => {
  21. // console.log(result.data);
  22. // })
  23. axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => {
  24. console.log(result.data);
  25. })
  26. }
  27. function post(){
  28. //通过axios发送异步请求-post
  29. // axios({
  30. // method: "post",
  31. // url: "http://yapi.smart-xwork.cn/mock/169327/emp/deleteById",
  32. // data: "id=1"
  33. // }).then(result => {
  34. // console.log(result.data);
  35. // })
  36. axios.post("http://yapi.smart-xwork.cn/mock/169327/emp/deleteById","id=1").then(result => {
  37. console.log(result.data);
  38. })
  39. }
  40. </script>
  41. </html>

打开开发者工具: 

这种方式是我们项目中推荐的方法。

案例:

基于Vue及Axios完成数据的动态加载展示:

1、数据准备的URL:

2、在页面加载完成后,自动发送异步请求,加载数据,渲染展示页面(性别1:男,2代表女)。

 

  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>Ajax-Axios-案例</title>
  8. <script src="js/axios-0.18.0.js"></script>
  9. <script src="js/vue.js"></script>
  10. </head>
  11. <body>
  12. <div id="app">
  13. <table border="1" cellspacing="0" width="60%">
  14. <tr>
  15. <th>编号</th>
  16. <th>姓名</th>
  17. <th>图像</th>
  18. <th>性别</th>
  19. <th>职位</th>
  20. <th>入职日期</th>
  21. <th>最后操作时间</th>
  22. </tr>
  23. <tr align="center" v-for="(emp,index) in emps"> /* 在视图中渲染展示列表数据*/
  24. <td>{{index + 1}}</td>
  25. <td>{{emp.name}}</td>
  26. <td>
  27. <img :src="emp.image" width="70px" height="50px">
  28. </td>
  29. <td>
  30. <span v-if="emp.gender == 1"></span>
  31. <span v-if="emp.gender == 2"></span>
  32. </td>
  33. <td>{{emp.job}}</td>
  34. <td>{{emp.entrydate}}</td>
  35. <td>{{emp.updatetime}}</td>
  36. </tr>
  37. </table>
  38. </div>
  39. </body>
  40. <script>
  41. new Vue({
  42. el: "#app",
  43. data: {
  44. emps:[] // 数据模型
  45. },
  46. mounted () {
  47. //发送异步请求,加载数据
  48. axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => {
  49. this.emps = result.data.data; // 把获得数据给了数据模型emps
  50. })
  51. }
  52. });
  53. </script>
  54. </html>

发送的是异步请求,从服务器获得数据,数据是json格式的,然后我们给了数据模型emps,然后在view中渲染展示这些数据,通过插值表达式等方式。

其中头像使用的是地址。

v-bind是为标签绑定属性值,再回顾下。

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

闽ICP备14008679号