天气信息查询案例| 学习笔记

简介: 快速学习天气信息查询案例。

开发者学堂课程【Ajax 前端开发入门与实战天气信息查询案例】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/595/detail/8554


天气信息查询案例

 

天气查询案例

接口地址如下:

地址htp:// cdn.weather.hao.360.cn/api weather_info.php
作用描述:获取天信息
请求类型:Get 请求
参数: app:hao360 固定参数
code: 城市的编号( 101010100北京,101020100上海,    101280101广州,101280601 深圳)
_jsonp: 回调函数名称
返回数据格式: jsonp 格式
返回字段说明: area 地区信息
pm25: pm2.5 数据

pubdate:数据发布日期

Pubdate:数据发布时间

time:时间戳

weather:天气信息

date:时间

day:白天

night:黑夜

dawn:黎明

地址接口是 jsonp 格式的接口,需要通过跨域的技术解决方案来获取相关的数据。

简单的通过浏览器进行一个接口地址的访问,打开浏览器输入地址后将相关的参数不全。

第二个参数 code,把参数进行拼接通过”&“拼接,code=101010100(北京城市的编码),除此之外还需要 _jsonp(决定回调函数名称,它的本质是由服务器返回一个函数调用)再进行拼接 _jsonp=abc,如下图表示:

回车后的结果如图得到一个数据,这个数据关于 abc 的一调用方法

image.png

如把 abc 改为 haha ,就是 haha 的调用方法,如图:

image.png

因此服务器就是通过 _jsonp 来得到 haha 这个字符串,将我们相关的数据信息以函数调用的方式传递给前端。

可以把上图的数据进行格式化,复制上图 _jsonp 格式字符串放到 Sublime 粘贴上去后按快捷键 Ctrl+Alt+O 可以把相关数据进行格式化,进行格式化要把最前面haha 去掉因为只有括号里面才是 _jsonp 格式字符串,

把特殊符号”\u5317\u4eac转译成中文“北京”。

在 Sublime 中按的快捷键需要安装 Pretty JSON 这个插件。

安装插件的步骤:

点击 Package Control 后再点击 Instali Package ,稍等片刻弹出一个输入框,在输入框中输入 Pretty JSON 进行安装。

第二种方式可以借助互联网,在百度搜索 json 数据格式化点击进去

复制代码粘贴进输入框点击校验也能得到 json 数据格式化的操作。

image.png

选择城市后点击查询按钮,就可以将天气信息查询出来,就可以展示在“info”的

下边。

打开浏览器输入 www.zhangsan.com。 

点击 08 weather/ 后进入

再点击 get weather.html 就会出现如下界面:

image.png

点击城市进行查询就可以获得相关天气信息,天气信息是分日期的,每个日期下面都有它的白天、夜间、黎明的信息。将这里的信息获得读取信息的获取操作。 

代码如下:

<!DOCTYPE html>

<html lang="en">

<head><meta charset="UTF-8">

<title>获取天气信息</title>

<script type="text/javascript" src=”jquery.js”>

</script>

<script type="text/javascript” src=”template.js”>

</script>

<script type="text/html” id=”weatherTemplate”>

{{each weather as value i}}

<div><span>{{value.date}}</span>

<ul><li>天天:{{value.info.day[1]}}</li>

<li>白温度:{{value.info.day[2]}}</li>

<li>白天:{{value.info.day[3]}}</li>

<li>白天风:{{value.info.day[4]}}</li>

</ul><ul><li>夜间天:{{value.info.night[1]}}</li>

<li>夜温度:{{value.info.night[2]}}</li>

<li>夜间风:{{value.info.night[3]}}</li>

<li>夜间风:{{value.info.night[4]}}</li>

</ul>

{{if value.info.dawn}}<ul><li>黎明:{{value.info.dawn[1]}}</li>

<li>黎明温度:{{value.info.dawn[2]}}</li>

<li>黎明:{{value.info.dawn[3]}}</li>

<li>黎明:{{value.info.dawn[4]}}</li>

</ul></div>

{{/each}}

</script>

$(function(){

$(”#query”.click(function(){

//将用户所选择的城市信息的天气预报情况查询出来

var code = $("#city" ).val();

Console.log(code);

$.ajax({

Url:”htp:// cdn.weather.hao.360.cn/api weather_info.php

data:{

app:”hao360”,

code:code

},

jsonp:”_jsonp”

dateType:”jsonp”

success:function(data){

console.log(data);

var html = template(“weatherTemplate”,date);

$(“#info”).html(html);

}

});

});

});

<style type="text/css">

#containerfwidth:400px ;

min-height:300pх;

background-color:lightgreen;

margin:auto;

padding:10px;text-align:center;}

ul{

list-style:none;

text-align:left;

}</style>

</head><body>

<div id = ”container”>

<select id="city">

<option value="101010100">北京</option>

<option value="101020100">上海</option>

<option value="101280101">广州</option>

<option value="101280601">深圳</option>

</select>

<input type=”button” value=”查询” id=”query”>

<div id=”info”>

</div>

</div>

</body>

</html>

Val 代表的含义,他所代表的含义是我们所选择的 option 所对应的 value 值,option 所对应的 value 值就是 select 元素的 value 值

<option value="101010100">北京</option>

<option value="101020100">上海</option>

<option value="101280101">广州</option>

<option value="101280601">深圳</option>

</select>

将 code 用户所选择的城市信息传递到 url 中城市所对应的天气。Url 的地址是在接口文档中所体现出来的地址。

放到代码当中,业务逻辑参数 hao360; 城市编码。

dataType 不能忘记,必须得是 jsonp 我们才可以获取到相关的数据

success:function(data){

console.log(data);

html 片段生成,片段生成放在 info下面

两个参数 dateType 一定要是 jsonp;

第二个就是 jsonp 所指定的值,我们服务器就是通过这个值来获取到回调函数的名称。

相关文章
|
3月前
|
数据采集
以“股票代码实时抓取股票信息”为例的爬虫案例
爬虫—根据股票代码实时抓取股票信息
143 0
|
6月前
|
存储 C语言 索引
【实战编程】学生信息管理系统:一键实现数据插入、智能排序、精准查询与成绩统计(附完整源码,即学即用!)
结构体数组是C语言中一种复合数据类型,它结合了结构体的灵活性和数组的有序集合特性,允许你定义一组具有相同结构的数据项。结构体定义了一组不同数据类型的变量集合,而结构体数组则是这种结构的连续内存块,每个元素都是该结构类型的实例。这种方式特别适合管理具有相似属性的对象集合,如学生信息、员工记录等。
|
8月前
|
开发工具
查询天气预报案例
这是一个关于如何查询天气预报的步骤指南,包括五个步骤:找到阿里云的天气服务、购买服务、获取AppCode和秘钥、参考SDK调用接口以及使用Hutool工具进行接口调用。提供了详细的操作截图和接口返回的示例数据。完整文档链接可在文中找到。
332 4
|
8月前
|
存储 移动开发 小程序
利用微搭搭建信息查询小程序
利用微搭搭建信息查询小程序
|
8月前
|
搜索推荐 前端开发 数据挖掘
拼多多根据ID取商品详情原数据 API 实现实时数据获取的完整指南
在电商行业中,商品详情页是用户了解商品信息、进行购买决策的重要页面。为了提高用户体验和促进销售,电商平台通常会提供商品详情的API接口,以便第三方应用能够实时获取商品数据。本文将介绍如何使用拼多多获得的根据ID取商品详情原数据的API实现实时数据获取,并提供相应的代码示例。
|
Python
python 进行西安2023年天气信息,分析天气趋势预测 数据代码评论区自取
python 进行西安2023年天气信息,分析天气趋势预测 数据代码评论区自取
84 0
|
缓存 数据可视化 前端开发
教程】天气预报应用集成台风信息功能的探讨
通过本教程,我们探讨了如何将台风信息功能集成到天气预报应用中。通过提供台风信息,我们可以帮助用户更好地了解台风的动态和可能影响的地区,提供更全面的天气信息,帮助用户做出明智的决策。希望本教程对你在开发天气预报应用时集成台风信息功能有所帮助!
202 0
|
机器学习/深度学习 小程序 定位技术
「教程」微信小程序获取地理位置信息自动查询天气预报信息(附详细代码)
「教程」微信小程序获取地理位置信息自动查询天气预报信息(附详细代码)
282 0
|
小程序 安全 API
「教程」微信小程序获取经纬度查询天气预警信息
「教程」微信小程序获取经纬度查询天气预警信息
254 0
|
API 开发者 Python
气象数据随时随地:让天气预报API为您的应用提供精准的天气信息
天气预报可以帮助人们更好地做出决策,例如,根据天气预报选择合适的服装、行程和活动。此外,天气预报对农业、交通、建筑等领域也有着重要的影响
442 0
气象数据随时随地:让天气预报API为您的应用提供精准的天气信息