Axios——熟悉 URL

  金牌会员 | 2024-8-6 12:01:11 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 778|帖子 778|积分 2334

目次
1. 什么是 URL?
1.1. 定义
1.2. 概念
1.3. 例子
2. URL的组成
2.1. 协议
2.2. 域名
2.3. 资源路径
3. 练习——使用 axios 从服务器拿到新闻列表数据
4. URL 查询参数先容
4.1. 定义:
4.2. 语法:
5. axios-查询参数
5.1. 语法:
5.2. 注意:


 
1. 什么是 URL?



1.1. 定义



  • 统一资源定位符(英语: Uniform Resource Locator ,缩写: URL ,或称统一资源定位器、定位地点、 URL 地点)俗称网页地点,简称网址,是因特网上标准的资源的地点( Address ),如同在网络上的门牌。它最初是由蒂姆.伯纳斯﹣李发明用来作为万维网的地点,现在它已经被万维网联盟编制为因特网标准 RFC 1738。
1.2. 概念



  • URL 就是统一资源定位符,简称网址,用于访问网络上的资源
1.3. 例子



2. URL的组成



2.1. 协议



  • http 协议:超文本传输协议,规定欣赏器和服务器之间传输数据的格式




2.2. 域名



  • 域名:标记服务器在互联网中方位




2.3. 资源路径



  • 资源路径:标记资源在服务器下的详细位置




3. 练习——使用 axios 从服务器拿到新闻列表数据

目标资源地点(新闻数据地点):http://hmajax.itheima.net/api/news


  1. <body>
  2.   //1.引入axios库
  3.   <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  4.   <script>
  5.   //2.使用axios函数
  6.     axios({
  7.       url: 'http://hmajax.itheima.net/api/news'
  8.     }).then(result => {
  9.       console.log(result)
  10.     })
  11.   </script>
  12. </body>
复制代码
4. URL 查询参数先容

4.1. 定义:



  • 欣赏器提供给服务器的额外信息,让服务器返回欣赏器想要的数据
4.2. 语法:



  • http://xxxx.com/xxx/xxx?参数名1=值1&参数名2=值2


5. axios-查询参数

5.1. 语法:



  • 使用 axios 提供的 params 选项
5.2. 注意:



  • axios 在运行时把参数名和值,会拼接到 url?参数名=值
都会列表:https://hmajax.itheima.net/api/city?pname=河北省




 6. 案例:根据输入的省份名字和都会名字,查询地区并渲染列表

  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.     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css">
  9.     <style>
  10.       :root {
  11.       font-size: 15px;
  12.       }
  13.       body {
  14.       padding-top: 15px;
  15.       }
  16.     </style>
  17.   </head>
  18.   <body>
  19.     <div class="container">
  20.       <form id="editForm" class="row">
  21.         <!-- 输入省份名字 -->
  22.         <div class="mb-3 col">
  23.           <label class="form-label">省份名字</label>
  24.           <input type="text" value="北京" name="province" class="form-control province" placeholder="请输入省份名称" />
  25.         </div>
  26.         <!-- 输入城市名字 -->
  27.         <div class="mb-3 col">
  28.           <label class="form-label">城市名字</label>
  29.           <input type="text" value="北京市" name="city" class="form-control city" placeholder="请输入城市名称" />
  30.         </div>
  31.       </form>
  32.       <button type="button" class="btn btn-primary sel-btn">查询</button>
  33.       <br><br>
  34.       <p>地区列表: </p>
  35.       <ul class="list-group">
  36.         <!-- 示例地区 -->
  37.         <li class="list-group-item">东城区</li>
  38.       </ul>
  39.     </div>
  40.     <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  41.     <script>
  42.       /*
  43.       获取地区列表: http://hmajax.itheima.net/api/area
  44.       查询参数:
  45.       pname: 省份或直辖市名字
  46.       cname: 城市名字
  47.       */
  48.       // 目标: 根据省份和城市名字, 查询地区列表
  49.       // 1. 查询按钮-点击事件
  50.       document.querySelector('.sel-btn').addEventListener('click', () => {
  51.       // 2. 获取省份和城市名字
  52.       let pname = document.querySelector('.province').value
  53.       let cname = document.querySelector('.city').value
  54.       // 3. 基于axios请求地区列表数据
  55.       axios({
  56.       url: 'http://hmajax.itheima.net/api/area',
  57.       params: {
  58.         //属性名和属性值一致时,可省略
  59.       pname,
  60.       cname
  61.       }
  62.       }).then(result => {
  63.       // console.log(result)
  64.       // 4. 把数据转li标签插入到页面上
  65.       let list = result.data.list
  66.       console.log(list)
  67.       let cityShow = list.map(areaName => `<li class="list-group-item">${areaName}</li>`).join('')
  68.       console.log(cityShow)
  69.       document.querySelector('.list-group').innerHTML = cityShow
  70.       })
  71.       })
  72.       
  73.     </script>
  74.   </body>
  75. </html>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表