【学习笔记】ajax请求网络api

不啰嗦,直接上代码:

1、在浏览器输入网址:http://api.asilu.com/weather/?callback=getname&city=深圳

你会看到如下结果:他返回的是json数据

/** api.asilu.com **/getname({"city":"深圳","pm25":"28","weather":[{"date":"周一 09月10日","icon1":"day\/duoyun","icon2":"night\/duoyun","weather":"多云","wind":"无持续风向微风","temp":"31 ~ 25℃"},{"date":"周二","icon1":"day\/duoyun","icon2":"night\/duoyun","weather":"多云","wind":"无持续风向微风","temp":"31 ~ 27℃"},{"date":"周三","icon1":"day\/leizhenyu","icon2":"night\/leizhenyu","weather":"雷阵雨","wind":"东风4-5级","temp":"31 ~ 26℃"},{"date":"周四","icon1":"day\/zhenyu","icon2":"night\/zhenyu","weather":"阵雨","wind":"东风3-4级","temp":"30 ~ 26℃"}],"date":"2018-09-10","id":"101280601","t":1536508800});

整理之后是这样的:

/** api.asilu.com **/
getname({
    "city": "深圳",
    "pm25": "28",
    "weather": [{
        "date": "周一 09月10日",
        "icon1": "day\/duoyun",
        "icon2": "night\/duoyun",
        "weather": "多云",
        "wind": "无持续风向微风",
        "temp": "31 ~ 25℃"
    }, {
        "date": "周二",
        "icon1": "day\/duoyun",
        "icon2": "night\/duoyun",
        "weather": "多云",
        "wind": "无持续风向微风",
        "temp": "31 ~ 27℃"
    }, {
        "date": "周三",
        "icon1": "day\/leizhenyu",
        "icon2": "night\/leizhenyu",
        "weather": "雷阵雨",
        "wind": "东风4-5级",
        "temp": "31 ~ 26℃"
    }, {
        "date": "周四",
        "icon1": "day\/zhenyu",
        "icon2": "night\/zhenyu",
        "weather": "阵雨",
        "wind": "东风3-4级",
        "temp": "30 ~ 26℃"
    }],
    "date": "2018-09-10",
    "id": "101280601",
    "t": 1536508800
});

2、怎样才能获取上述json的数据呢?很简单:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>ajax</title>
</head>
<body>
    <h1>天气查询</h1>
    <input type="text" placeholder="请输出你的地址" id="tel"/>
    <button id="ajax">确定</button>
    <p><span id="reslut"></span></p>
    <script type="text/javascript" src="jquery-3.3.1/jquery-3.3.1.js"></script>
    <script type="text/javascript">
    $(function(){
        $('#ajax').on('click',function(){
            var $telValue=$('#tel').val();
            if($telValue=="") {
                alert('不能为空!');
                return;
            }
            $.ajax({
                type: 'GET',
                dataType:'jsonp',
                url: 'http://api.asilu.com/weather/?callback=getname&city='+$telValue,
                success: function(data){
                    var reslutData=data;
                    console.log(reslutData);    
                    $('#reslut').text("你查询的是:"+reslutData.city+","+"明天的天气是:"+reslutData.weather[0].weather);
                }             
            })
        })       
    })
    </script>
</body>
</html>

3、效果图是这样的:

4、完毕。

 

posted @ 2018-09-10 16:36  千山慕雪  阅读(3317)  评论(0编辑  收藏  举报