AJAX——URL查询参数

1 URL查询参数

定义:浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据

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

2 axios-查询参数

语法:使用axios提供的 params 选项

注意:axios在运行时把参数名和值,会拼接到 url?参数名=值

城市列表:http://hmajax.itheima.net/api/city?pname=河北省

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
    城市列表:http://hmajax.itheima.net/api/city
    参数名:pname
    值:省份名字 
    -->
    <p></p>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <script>
        axios({
            url:'http://hmajax.itheima.net/api/city',
            // 查询参数
            params:{
                pname:'河北省'
            }
        }).then(result => {
            console.log(result.data.list)
            document.querySelector('p').innerHTML = result.data.list.join('<br>')
        })
    </script>
</body>
</html>

3 地区查询

需求:根据输入的省份名字和城市名字,查询地区并渲染列表

首先:确定URL网址和参数说明

  • 查询某个省内某个城市的所以地区:http://hmajax.net/api/area
  • 参数名:
    • pname:身份名字或直辖市名字,比如北京、福建省、辽宁省…
    • cname:城市名字,比如北京市、厦门市、大连市…

完整:http://hmajax.itheima.net/api/area?pname=北京&cname=北京市

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>案例_地区查询</title>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css">
  <style>
    :root {
      font-size: 15px;
    }

    body {
      padding-top: 15px;
    }
  </style>
</head>

<body>
  <div class="container">
    <form id="editForm" class="row">
      <!-- 输入省份名字 -->
      <div class="mb-3 col">
        <label class="form-label">省份名字</label>
        <input type="text" value="北京" name="province" class="form-control province" placeholder="请输入省份名称" />
      </div>
      <!-- 输入城市名字 -->
      <div class="mb-3 col">
        <label class="form-label">城市名字</label>
        <input type="text" value="北京市" name="city" class="form-control city" placeholder="请输入城市名称" />
      </div>
    </form>
    <button type="button" class="btn btn-primary sel-btn">查询</button>
    <br><br>
    <p>地区列表: </p>
    <ul class="list-group">
      <!-- 示例地区 -->
      <li class="list-group-item">东城区</li>
    </ul>
  </div>
  <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  <script>
    /*
      获取地区列表: http://hmajax.itheima.net/api/area
      查询参数:
        pname: 省份或直辖市名字
        cname: 城市名字
    */
   // 目标: 根据省份和城市名字, 查询地区列表
   // 1. 查询按钮-点击事件
   document.querySelector('.sel-btn').addEventListener('click', () => {
    // 2. 获取省份和城市名字
    let pname = document.querySelector('.province').value
    let cname = document.querySelector('.city').value

    // 3. 基于axios请求地区列表数据
    axios({
      url: 'http://hmajax.itheima.net/api/area',
      params: {
        pname,
        cname
      }
    }).then(result => {
      // console.log(result)
      // 4. 把数据转li标签插入到页面上
      let list = result.data.list
      console.log(list)
      let theLi = list.map(areaName => `<li class="list-group-item">${areaName}</li>`).join('')
      console.log(theLi)
      document.querySelector('.list-group').innerHTML = theLi
    })
   })


  </script>
</body>

</html>

相关推荐

  1. AJAX-查询参数

    2024-02-13 01:08:01       17 阅读
  2. ES基础查询,term级参数介绍

    2024-02-13 01:08:01       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-13 01:08:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-13 01:08:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-13 01:08:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-13 01:08:01       18 阅读

热门阅读

  1. python中的数组和list的异同

    2024-02-13 01:08:01       29 阅读
  2. C语言如何理解输出列表?

    2024-02-13 01:08:01       32 阅读
  3. 【Python】单元测试unittest框架

    2024-02-13 01:08:01       41 阅读
  4. MacOS 制作 TF 卡/ U 盘镜像

    2024-02-13 01:08:01       33 阅读
  5. 4.8 Binance_interface APP 币本位合约交易-市价单开仓

    2024-02-13 01:08:01       37 阅读
  6. 【深度学习】S1 预备知识 P1 张量

    2024-02-13 01:08:01       27 阅读
  7. 老兵(10)

    2024-02-13 01:08:01       29 阅读
  8. redis过期淘汰策略、数据过期策略与持久化方式

    2024-02-13 01:08:01       26 阅读
  9. python 对Windows关机/重启/锁屏

    2024-02-13 01:08:01       27 阅读
  10. Swagger2

    2024-02-13 01:08:01       32 阅读
  11. Spring Boot + Lua = 王炸!

    2024-02-13 01:08:01       29 阅读
  12. 【嵌入式开发】70

    2024-02-13 01:08:01       26 阅读