获取省市区(axios)

 //1.获取省的数据
axios({ url: 'http://hmajax.itheima.net/api/province' }).then(result => {
    const data = result.data.list.map(pname => {
        return `  <option value="${pname}" data-name ="pname">${pname
            }</option>
`
    }).join('')
    document.querySelector('.province').innerHTML = data +`<option value="">省份</option>`

})
//2.检测变化,获取市的数据
document.querySelector('.province').addEventListener('change', async e => {
            //获取省份名字
    const name = document.querySelector('.province').value
    console.log(name)
    //根据省,获取到城市
 
        
           //用await替代了then()方法,直接取得结果
        const result = await axios({

            url: "http://hmajax.itheima.net/api/city",
            params: {
                pname: name
            }
        })

        console.log(result)
        const sfdata = result.data.list.map(cname => {
            return `  <option value="${cname}" data-name ="pname">${cname
            }</option>      `
        }).join('')
        document.querySelector('.city').innerHTML = sfdata + `<option value="">地区</option>`


    })
//3.获取地区数据,要先检测市的情况
document.querySelector('.city').addEventListener('change', async e => {
    console.log(e.target.value)
    const result = await axios({
        url: "http://hmajax.itheima.net/api/area",
        params: {
            pname: document.querySelector('.province').value,
            cname: e.target.value
        }
    })
    //这一步都大致相同
    const dqdata = result.data.list.map(cname => {
        return `  <option value="${cname}" data-name ="pname">${cname
            }</option>      `
    }).join('')
    document.querySelector('.area').innerHTML = dqdata + `<option value="">地区</option>`
})



目标1:完成省市区下拉列表切换
 *  1.1 设置省份下拉菜单数据
 *  1.2 切换省份,设置城市下拉菜单数据,清空地区下拉菜单
 *  1.3 切换城市,设置地区下拉菜单数据

目标2:收集数据提交保存
  2.1 监听提交的点击事件
  2.2 依靠插件收集表单数据
  2.3 基于axios提交保存,显示结果

document.querySelector('.submit').addEventListener('click', () => {
    const form = document.querySelector('.info-form')
    const data = serialize(form, { hash: true, empty: true })
    try {
        const result = await axios({
            url: "http://hmajax.itheima.net/api/feedback",
            method: 'post',
            data: data
        })
        alert(result.data.message)
    }
    catch (error) {
        console.dir(error)
        alert(error.message)

    }


})

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值