この記事では、都市名を通じてデータを取得し、HTML と JS コードの 2 つの部分を通じて天気予報効果を実現するための全国天気予報 API Ajax を紹介します。都市に入ると、その効果が表示されます。興味のあるお友達はプレビューを参照してください
写真 (比較的シンプルで大まかです)
集計データ全国天気予報インターフェイス: 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、例: "Suzhou"、utf8 urlencode が必要です
dtype string N 戻りデータ形式: json または xml、デフォルトは json
format int N 今後 6 日間の予測 (将来) の 2 つの戻り形式、1 または 2、デフォルトは 1
key文字列 Y 申請したキー
HTML 部分コード:
<!DOCTYPE html> <html lang="en"> <meta charset="UTF-8" > <title>天气预报</title> <script src="jquery-2.1.1.min.js"></script> <link rel="stylesheet" href="w.css"> <p id="mf_weather"> <script src="w.js"></script> <button id="search">天气查询</button> <input id="city" type="text" value="tbody"> <p class="ctn"> <p id="mufeng"> </p> <p id="future"></p> </p> </html>
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 = "日付 気温 天気 風向き";
$('#mufeng').html("
" + '現在: ' + sk.temp + '℃ , ' + sk.wind_direction + sk.wind_strength + ' , ' + '空気湿度' + sk .humidity + ' , 更新時間' + sk.time + "
" + today.city + ' 今日は: ' + today.date_y + ' ' + today.week + ' , ' + today.degree + ' , ' + today.weather + ' , ' + today。風 + "
");" + '未来: ' + futur[0].tempur+ '℃ , ' + 未来[0].weather + futur[0].wind + ' , ' + ' 、更新時間 ' + futur[0].week+futur[0].date + "
" + today.city + "
< /p>");
} });
});
function urlencode (str) {
str = (str + ' ').toString();
return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/(/g, '%28 ').
replace(/)/g, '%29').replace(/* /g, '%2A').replace(/%20/g, '+');以上、皆様に向けてまとめさせていただきましたので、今後皆様のお役に立てれば幸いです。
関連記事:
Ajaxクロスドメインリクエストでのパーサーエラーエラーを完全に解決する
ajaxは携帯電話番号をデータベースに送信する検証のためにステータス値を返します
以上がAjax は都市名でデータを取得しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。