首頁 >web前端 >js教程 >Ajax取得全國天氣預報的API數據

Ajax取得全國天氣預報的API數據

php中世界最好的语言
php中世界最好的语言原創
2018-04-03 11:15:363474瀏覽

這次為大家帶來Ajax獲取全國天氣預報的API數據,Ajax獲取全國天氣預報API數據的注意事項有哪些,下面就是實戰案例,一起來看一下。

預覽圖(比較簡單粗糙)

聚合資料全國天氣預報介面:https://www.juhe.cn /docs/api/id/39

介面位址:http://v.juhe.cn/weather/index
支援格式:json/xml
請求方式:get
請求範例:http://v.juhe.cn/weather/index?format=2&cityname=%E8%8B%8F%E5%B7%9E&key=您申請的KEY
呼叫範例及偵錯工具: API測試工具
請求參數說明:
名稱類型必填說明
cityname string Y 城市名或城市ID,如:“蘇州”,需要utf8 urlencode
dtype string N 回傳資料格式:json或xml,預設json
format int N 未來6天預報(future)兩種回傳格式,1或2,預設1
key string Y 你申請的key

#HTML部分程式碼:

76c82f278ac045591c9159d381de2c57
9fd01892b579bba0c343404bcccd70fb
b0472fae589efacfdc9167ddd7cd36f5
b2386ffb911b14667cb8f0f91ea547a7天气预报6e916e0f7d1e588d4f442bf645aedb2f
b9197df398584b98b2410e5b164be7af2cacc6d41bbb37262a98f745aa00fbf0
00df4a35b0411efd7658664b9edd1375
da1e4ed9b166c1457fd597723770335e
d4f5983c77987d0ae0324e24bb5ff6c72cacc6d41bbb37262a98f745aa00fbf0
e3eaba810eafb87286c1217c7ba255b9天气查询65281c5ac262bf6d81768915a4a77ac0
ed587b6614a359512e6703c59df9f2c0
29009b77e757bc1f1ec679e658842388
2ed2ef88bdf8d39fb1161be07e63a70a
94b3e26ee717c64999d7867364b1b4a3
67b71a8c322b70225f9afed221ece6b594b3e26ee717c64999d7867364b1b4a3
94b3e26ee717c64999d7867364b1b4a3 
73a6ac4ed44ffec12cee46588e518a5e

JavaScript# 部分:

/*
* 1.输入城市名
* 2,点击的时候发送请求
* 3.响应成功渲染页面
* */
$('#search').on('click',function(){
var city = $('#city').val()||'北京';
$citycode=urlencode(city);
url='http://v.juhe.cn/weather/index?format=2&cityname='+$citycode+'&key=c82727e986a4f6cfc6ba1984f1f9183a';
$.ajax({url: url,
dataType: "jsonp",
type:"get",
data:{location:city},
success:function(data){
var sk = data.result.sk;
var today = data.result.today;
var futur = data.result.future;
var fut = "日期温度天气风向";
$(&#39;#mufeng&#39;).html("<p>" + &#39;当前: &#39; + sk.temp + &#39;℃ , &#39; + sk.wind_direction + sk.wind_strength + &#39; , &#39; + &#39;空气湿度&#39; + sk.humidity + &#39; , 更新时间&#39; + sk.time + "</p><p style=&#39;
padding-bottom
: 10px;&#39;>" + today.city + &#39; 今天是: &#39; + today.date_y + &#39; &#39; + today.week + &#39; , &#39; + today.temperature + &#39; , &#39; + today.weather + &#39; , &#39; + today.wind + "<p></p>");
$(&#39;#future&#39;).html("<p>" + &#39;未来: &#39; + futur[0].temperature+ &#39;℃ , &#39; + futur[0].weather + futur[0].wind + &#39; , &#39; + &#39; , 更新时间&#39; + futur[0].week+futur[0].date + "</p><p style=&#39;padding-bottom: 10px;&#39;>" + today.city + "<p></p>");
} });
});
function urlencode (str) { 
str = (str + &#39;&#39;).toString(); 
return encodeURIComponent(str).replace(/!/g, &#39;%21&#39;).replace(/&#39;/g, &#39;%27&#39;).replace(/\(/g, &#39;%28&#39;). 
replace(/\)/g, &#39;%29&#39;).replace(/\*/g, &#39;%2A&#39;).replace(/%20/g, &#39;+&#39;); 
} 
})

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

Ajax如何讀取txt並對其內容進行分頁展示

Ajax遍歷jSon進行數據的修改和刪除

以上是Ajax取得全國天氣預報的API數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn