调用天气预报接口

方案一:

浏览器由于安全的限制,不允许跨域访问。但是PHP服务器是允许的。我们可以通过使用PHP文件做代理,通过PHP来调用接口。

详细接口分析可参看:http://www.cnblogs.com/wangjingblogs/p/3192953.html

返回JSON格式

PHP代码

<?php //此接口返回json格式
echo file_get_contents('http://www.weather.com.cn/data/cityinfo/101181601.html');?>

 

HTML代码

 

<!DOCTYPE html>
<html>
<head><title>调用天气预报接口</title>
</head>
<body>
<script type="text/javascript">
window.onload = function () {//创建XMLHttpRequest对象var xmlHttp = new XMLHttpRequest();//创建连接
    xmlHttp.open('get','./getWeather.php');//判断准备状态及状态码
    xmlHttp.onreadystatechange = function(){if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {//把后台传来的字符串类型的数据信息转换成对象
            eval('var info ='  xmlHttp.responseText);//把weatherinfo对象中的数据存放到info中
            info = info.weatherinfo;console.log(info);//拼接字符串var str = '';str  = '城市:' info.city '<br>';str  = '城市编号:' info.cityid '<br>';str  = '温度:' info.temp1 '~' info.temp2 '<br>';str  = '天气:' info.weather '<br>';str  = '发布时间:' info.ptime '<br>';//把数据输出到浏览器
            document.getElementById('weather').innerHTML = str;}}//发送连接
    xmlHttp.send(null);
}
</script><div id="weather"><!-- 此处显示天气预报 -->
</div>
</body>
</html>

 

 

方案二:

 

为天气预报接口,可直接将以上代码放到项目中直接使用!

 

 

<iframe name=\"weather_inc\" src=\"http:\/\/i.tianqi.com\/index.php?c=code&id=1\" width=\"330\" height=\"35\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>

完整代码:

 

 

<!DOCTYPE html>
<html>
<head><title>调用天气预报接口</title>
</head>
<script type="text/javascript">document.writeln("<iframe name=\"weather_inc\" src=\"http:\/\/i.tianqi.com\/index.php?c=code&id=1\" width=\"330\" height=\"35\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>");
</script>
<body>
<!-- 天气预报接口 -->
<iframe width="420" scrolling="no" height="60" frameborder="0" allowtransparency="true" src="http://i.tianqi.com/index.php?c=code&id=17&icon=1&num=3"></iframe></body>
</html>

 

 

另外,还有一些网站提供了免费的接口调用,很方便,可自定义天气预报样式并生成相应的代码,放在项目中即可直接使用

http://www.tianqi.com/plugin/

http://www.cnblogs.com/wangjingblogs/p/3192953.html

 


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试集准确率不变_这个医疗AI准确率突破天际,招来了铺天盖地的质疑

转自 | 量子位只要输入一次心跳的波谱。就能判断一个人有没有发生心力衰竭 (CHF) &#xff0c;准确率100%。这是英国华威大学领衔的团队&#xff0c;用机器学习方法做出的新成果。还登上了影响因子2.943的Biomedical Signal Processing and Control期刊。准确率眼看就要突破天际…

JavaFX自定义控件– Nest Thermostat第1部分

几周前&#xff0c;由于Hendrik Ebbers的出色文章 &#xff0c;我决定花一些时间观看有关JavaFX的JavaOne讨论。 我不得不说我已经学到了很多东西&#xff0c;只是看这些视频&#xff08;即使我还没有完成&#xff09;&#xff01; Gerrit的“使用力&#xff0c;路克”或使用J…

PHP涉及的所有英文单词

PHP涉及的所有英文单词拦路虎 PHP再火&#xff0c;也会让一部同学心生畏惧&#xff0c;因为看到编辑器中那一串串英文单词&#xff0c;担心自己英文不好&#xff0c;从而对能学会PHP的决心产生动摇。其实大可不必&#xff0c;英文在学习PHP过程中真的连级别都够不上&#xff0c…

java 不编译咋办_java – 为什么JVM不编译整个程序,而不是逐个编译?

他所说的是,在运行时将所有字节码编译成机器语言是不切实际的.您可以预先编译所有内容,但这并不是JIT所采用的方法.一方面,不知道程序有多大.人们在30分钟的启动时会相当不高兴,因为它编译了可以找到的每个库(给定的Java程序不在一个文件中,它可以访问类路径中的所有内容)对于另…

mysql .pdb是什么文件_计算广告算法到底要做什么?

这个话题在这个专栏开篇就该去讲。恰逢今天公司业务和财务培训(20190216)之后&#xff0c;也有一些思索&#xff0c;索性就都汇总写下来。本文杂述&#xff0c;不尽完备&#xff0c;但是值得不断完善。我喜欢一句话“革命不是请客吃饭&#xff0c;不是做文章&#xff0c;不是绘…

浅析inline-block--使用inline-block创建布局

inline-block前端程序猿们肯定不陌生&#xff0c;它是display属性的一个取值。 之所以称之为inline-block。是因为它兼具行内元素(inline-element)和块级元素(block-element)的特征。 块级元素&#xff08;block elements&#xff09;,来源于CSS盒子模型。块级元素包含width h…

Cookie和Session版的登录验证

URL : from django.conf.urls import url from app01 import viewsurlpatterns [url(r^login/, views.login),url(r^home/, views.home),url(r^index/, views.index), ] 前端 : <form action"" method"post">{% csrf_token %}<input type"t…

Java 8 Friday Goodies:java.io终于成功了!

在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 &#xff0c;现在我们觉得是时候开始一个新的博客系列了…

ASP.NET获取客户端、服务器端基础信息

1. 在ASP.NET中专用属性&#xff1a;获取服务器电脑名&#xff1a;Page.Server.ManchineName获取用户信息&#xff1a;Page.User获取客户端电脑名&#xff1a;Page.Request.UserHostName获取客户端电脑IP&#xff1a;Page.Request.UserHostAddress2. 在网络编程中的通用方法&am…

java json decode 中文_关于json_decode乱码及NULL的解决方法

写接口的同学应该会经常遇到数据格式的转换&#xff0c;这时候必不可少的两个函数就是json_encode()和json_decode()。这两个函数使用的时候有很多的主要事项&#xff0c;在这里我来说一下json_decode()。json_decode():对JSON 格式的字符串进行解码,接受一个JSON 格式的字符串…

syslog可能引起得问题_牙齿经常有问题?可能是这4个坏习惯引起的,要改正

很多人明明很年轻&#xff0c;却得了很多牙齿疾病&#xff0c;甚至到了换牙的地步。牙齿虽然是最为坚硬的身体器官&#xff0c;但是即使再坚硬也是容易受到伤害的&#xff0c;日常生活中有很多小事都会造成对牙齿的伤害&#xff0c;想要保护牙齿&#xff0c;一定要改正一下这几…

jq实现前端文件上传

FormData FormData是XMLHttpRequest Level 2 新增的一个接口。 使用FormData可以实现各种文件上传。 使用 // 创建FormData的实例 var formdata new FormData();// 用append()为实例添加键和值 formdata.append(键名, 键值); 注意 使用jq的$.ajax()方法来进行文件上传时&am…

使用JUnitParams进行参数化的JUnit测试

参数化的单元测试用于在不同条件下测试相同的代码。 借助参数化的单元测试&#xff0c;我们可以建立一种测试方法&#xff0c;该方法从某些数据源中检索数据。 该数据源可以是测试数据对象&#xff0c;外部文件甚至数据库的集合。 一般的想法是使使用相同的单元测试方法测试不同…

js webpack 解决跨域问题_webpack-dev-server 作代理解决跨域,让你的本地开发飞起来...

最近在接到一个需求是做一个可视化的监控系统&#xff0c;mock数据来开发的话实在不太方便&#xff0c;况且数据量之大。查了一下资料&#xff0c;可以用webpack-dev-server作为代理&#xff0c;直接请求线上&#xff0c;哈哈哈&#xff0c;是不是很方便。### 目前我用的是webp…

代码片段 欢迎补充 一起共享

python&#xff1a; https://github.com/Lj-github/pythonTool转载于:https://www.cnblogs.com/liujiang04/p/9787486.html

实现用户操作指引功能

主要是通过定位找到需要指引的目标元素&#xff0c;然后再在蒙版上画一个div&#xff0c;设置为白色&#xff0c;定位到目标元素位置。思路大概就是这样。 图一&#xff1a; ![](https://img2018.cnblogs.com/blog/1354858/201811/1354858-20181105141942044-1763163359.png) 图…

扩展Guava缓存溢出到磁盘

缓存使您可以轻松地显着加速应用程序。 Java平台的两种出色的缓存实现是Guava缓存和Ehcache 。 尽管Ehcache功能丰富得多&#xff08;例如其Searchable API &#xff0c;将缓存持久化到磁盘或溢出到大内存的可能性&#xff09;&#xff0c;但与Guava相比&#xff0c;它也带来了…

磁盘

我们现在计算机的瓶颈在磁盘上 CPU运算速率已达到5.0GHz 1GHz10亿次每秒&#xff08;计算速度&#xff09; 硬盘 MB 软盘——>碟片&#xff08;100MB&#xff09;——>芯片ssd&#xff08;500MB~2000MB&#xff09; 存储程序的方式&#xff1a; 磁盘与内存想比较 能够用…

java gson fromjson,Gson的fromJson()方法

Gson提供了fromJson()方法来实现从Json相关对象到java实体的方法。在日常应用中&#xff0c;我们一般都会碰到两种情况&#xff0c;转成单一实体对象和转换成对象列表或者其他结构。先来看第一种&#xff1a;比如json字符串为&#xff1a;[{“name”:”name0”,”age”:0}]Pers…

python文件的读取与写入_python中文件的读取与写入以及os模块

1.文件读取的三部曲&#xff1a;打开 ---> 操作 ----> 关闭r(默认参数)&#xff1a;-只能读&#xff0c;不能写-读取文件不存在 会报错FileNotFoundError: [Errno 2] No such file or directory: /tmp/westosw(д)-write only-文件不存在的时候&#xff0c;会自动创建新的…