Vue—Vue结合axios异步请求综合案例

1.前端

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <input type="text" v-model="name" @keyup.delete="shows" @keyup.enter="find">
    <input type="button" value="查询天气" @click="find"><hr>
    <span v-for="city in cityList">
        <a  href="#" @click.prevent="find1(city)">{{city}}</a> &nbsp;
    </span>
    <hr>
    <span v-show="isShow">{{name}}今天的天气:{{message}}</span>
</div>
<script src="js/vue.js"></script>
<script src="js/axios.min.js"></script>//引入本地axios
<script>
    const app=new Vue({
        el:"#app",
        data:{
            name:"",
            cityList:["北京","上海","广州","深圳","成都"],
            message:"",
            wx:"sss",
            isShow:false
        },
        methods:{
            find(){
                console.log(this.name);
                let _this=this;

                axios.get("http://localhost:8081/city/find?name="+this.name).then(function (response) {
                    console.log(response.data.message)
                    _this.message=response.data.message;
                    _this.isShow=true;
                }).catch(function (err) {
                    console.log(err);
                })
            },
            shows(){
                this.isShow=false;
            },
            find1(name){
                this.name=name;
                this.find();
            }
        },

    })

</script>
</body>
</html>

2.后端

package com.wenxin.controller;

import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("city")
public class CityController {
    @GetMapping("find")
    @CrossOrigin//解决跨域问题
    public Map<String,String> findweatherByCity(String name){
        Map<String,String> map=new HashMap<>();
       String weathers= getWeather(name);
       map.put("message",weathers);
        return map;

    }
    public String getWeather(String name){
        Map<String,String> weathers =new HashMap<>();
        weathers.put("北京","很好");
        weathers.put("上海","很好");
        weathers.put("广州","很好");
        weathers.put("深圳","很好");
        weathers.put("成都","很好");
        weathers.put("新疆","蓝天白云");
        return weathers.get(name);

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文文鑫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值