当前位置:   article > 正文

ES6语法封装AJAX请求(含详细代码需求)_es6 get请求

es6 get请求

利用Promise来请求数据是这样的

  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. <script>
  11. new Promise((resolve, reject) => {
  12. const url = "url地址";
  13. var xhr = new XMLHttpRequest();
  14. xhr.open("GET", url);
  15. xhr.send();
  16. xhr.onload = function () {
  17. var data = JSON.parse(xhr.response);
  18. resolve({ data });
  19. };
  20. xhr.onerror = function () {
  21. var data = JSON.parse(xhr.response);
  22. reject({ data });
  23. };
  24. })
  25. .then(res => {
  26. console.log("then:", res);
  27. })
  28. .catch(err => {
  29. console.log("catch:", err);
  30. });
  31. </script>
  32. </body>
  33. </html>

resolve触发时, 其参数会传递给 .then 方法

reject触发时, 其参数会传递给 .catch 方法

请求到的数据, 上方代码其实除了 url地址 不是固定的, 其余部分都是固定的, 那不如简单的封装一下, 看具体代码如下:

  1. const axios = {
  2. get(url) {
  3. return new Promise((resolve, reject) => {
  4. var xhr = new XMLHttpRequest();
  5. xhr.open("GET", url);
  6. xhr.send();
  7. xhr.onload = function () {
  8. resolve(JSON.parse(xhr.response));
  9. };
  10. xhr.onerror = function () {
  11. reject(JSON.parse(xhr.response));
  12. };
  13. })
  14. }
  15. }

 就这几行代码就足够了, 我们来请求一下试一试

  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. </head>
  9. <body>
  10. <script src="./14.axios.js"></script>
  11. <script>
  12. const url = "url地址";
  13. axios.get(url).then(res => {
  14. console.log(res);
  15. });
  16. </script>
  17. </body>
  18. </html>

也是可以的, 是不是很简单 

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

闽ICP备14008679号