尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

在前端中调用天气预报接口,并在页面中显示

在前端中调用天气预报接口,并在页面中显示
📅 发布时间:2026/6/19 21:05:45

在前端中设置一个输入框和一个按钮
输入框负责传入参数(城市名称参数),点击按钮后进行查询
image
前端代码

点击查看代码
**<div class="container">**
**        <h2>城市天气查询</h2>**
**        <div class="input-group">**
**            <input type="text" id="city" placeholder="请输入城市(如:上海)">**
**            <button onclick="queryWeather()">查询</button>**
**        </div>**
**        <div id="result" class="weather-box"></div>**
**    </div>**
本次调用天气预报接口同样是调用的万维易源的API,所以其查询规则也是按照万维易源的查询规则来写的 我们先定义自己appKey,以及定义API地址
点击查看代码
//1. 定义appKeyconst APP_KEY = "546f700537c64a40a42Fbf565dF06290";//2. API地址const API_URL = "http://route.showapi.com/9-2";
声明一个函数queryWeather ①获取到输入框的值以及div区域
点击查看代码
async function queryWeather(){const city = document.getElementById("city").value.trim();const resultDom = document.getElementById("result");
②校验城市输入是否正确
点击查看代码
//校验输入if (!city) {resultDom.innerHTML = "<p class='error'>请输入城市名称</p>";return;}
③查询过度中显示加载状态
点击查看代码
//显示加载状态resultDom.innerHTML = "<p class='loading'>正在查询天气...</p>";
④构造请求参数,包括appKey和城市参数,如果需要其他参数,可根据API文档添加 ⑤调用API,并将返回的数据更改为json格式 ⑥解析返回数据,并根据API文档设置拼接展示内容,如需展示更多的内容,可根据API文档进行更改 ⑦最后设置一下报错信息
点击查看代码
      try{//4.构造请求参数(包含appKey和城市)const params = new URLSearchParams({appKey: APP_KEY,//核心:传递appKey作为认证参数area:city,//城市参数(以文档要求为准)//其他可选参数(如,日期,天数,根据API文档添加)});//5.调用APIconst response = await fetch(`${API_URL}?${params}`)const data = await response.json();//6.解析返回数据(根据API文档的结构调整)//假设API成功返回Code为0,具体以文档为准if (data.showapi_res_code === 0){const wearherInfo = data.showapi_res_code;const today = weatherInfo.f1;// 拼接展示内容resultDom.innerHTML = `<p>城市:${weatherInfo.cityInfo.c4}</p><p>日期:${today.day}</p><p>天气:${today.day_weather}</p><p>温度:${today.day_air_temperature}</p><p>风向:${today.night_wind_direction}</p><p>日出日落时间:${today.sun_begin_end}</p>`}else{//API返回错误信息(如城市不存在:appKey无效)resultDom.innerHTML = `<p class='error'>错误:${data.showapi_res_error || "查询失败"}</p>`;}}catch(error){//网络错误(如跨域、连接失败)resultDom.innerHTML = `<p class='error'>网络错误:${error.message}</p>`;}}//页面加载时默认查询window.onload =queryWeather;
附:css代码:
点击查看代码
    .container {max-width: 500px;margin: 50px auto;padding: 20px;border: 1px solid #ddd;border-radius: 10px;}.input-group {margin-bottom: 20px;}input {padding: 8px;width: 200px;margin-right: 10px;}button {padding: 8px 16px;cursor: pointer;}.weather-box {margin-top: 20px;padding: 15px;border: 1px dashed #666;border-radius: 5px;}.error {color: #f00;}.loading {color: #666;}

相关新闻

  • linux .forward
  • linux .epub
  • midwayjs 组件配置静态资源

最新新闻

  • 北京昌平离婚律所哪家好:3维度甄别昌平专业婚姻律师团 - 品牌2026
  • 本地 AI 写作环境搭建:Ollama + Open WebUI + Serper 实战记录
  • 深度剖析qrcode.vue:从技术选型到架构设计的性能优化实践
  • 3分钟免费安装VideoDownloadHelper:简单视频下载插件终极指南
  • 暗黑破坏神2存档编辑器终极教程:三步掌握角色与装备自由定制
  • 2026年市场知名的DTRO公司哪个好,DTRO膜片焊接设备/DTRO/DTRO水处理设备,DTRO源头厂家找哪家 - 品牌推荐师

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号