AJAX 的天气查询

<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">
          function makeRequest()
      {
        http_request = false;
       // alert(url);
         if (window.XMLHttpRequest)
         {
            http_request = new XMLHttpRequest();
             if (http_request.overrideMimeType)
             {
                http_request.overrideMimeType('text/xml');
             }
        }
         else if (window.ActiveXObject)
         { // IE
            try
             {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            }
             catch (e)
             {
                try
                 {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {}
            }
        }

         if (!http_request)
         {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = alertContents;
        var txt = document.getElementById("city");
        var str =escape(txt.value);
        http_request.open('GET', "http://weather.cn.yahoo.com/weather.html?city="+str, false);
//       http_request.open('GET', "http://www.zbintel.com/demo/project/china/top.asp", false);
       
        http_request.send(null);
    }

    function alertContents()
    {
         if (http_request.readyState == 4)
            {
                 if (http_request.status == 200)
                 {
                    var kk=http_request.responseText;
                   alert(kk);
                   // document.getElementById("content").innerHTML=kk.substring(kk.indexOf("<!--{{start:今日 -->"),kk.indexOf("<!--{{start:今日 -->") +520)+"<br/>"+kk.substring(kk.indexOf("<!--{{start:明日 -->"),kk.indexOf("<!--{{start:明日 -->") +520);
                
                    //alert(document.getElementById("content").innerHTML);
                }
                else
                 {
                    alert('There was a problem with the request');
                }
        }
    }
     </script>
</head>
<body>
    <div>
         <table width="100%" border="0" cellpadding="0" cellspacing="0">
              <tr>
                   <td height="80" colspan="3" align="center" valign="middle">
                        <br />
                        <h2>
                            天气预报查询</h2>
                        <span>
                            <br />
                            请输入城市:</span>
                        <input type="text" class="bd2" id="city" />
                        &nbsp;
                        <input type="button" οnclick="makeRequest()" class="bd" value=
                             "查询" />
                        <center style="color: Red; font-size: 20px; display: none"
                             id="loadingflag">
                             正在查询天气状况......</center>
                        <div id="content" class="content2">
                        </div>

                   </td>

              </tr>

          </table>

     </div>

</body>

</html> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jQuery Ajax 可以用来实现天气预报查询功能。具体实现步骤如下: 1. 获取用户输入的城市名称。 2. 构造一个 URL,将城市名称作为参数传递给天气预报 API。 3. 使用 jQuery Ajax 发送 GET 请求,获取天气预报数据。 4. 解析返回的 JSON 数据,提取需要的信息,如温度、天气状况等。 5. 将提取的信息显示在页面上,以便用户查看。 需要注意的是,天气预报 API 的使用需要申请 API Key,具体申请方式可以参考 API 提供方的文档。同时,由于天气预报数据的更新频率较高,建议使用缓存机制,避免频繁请求 API。 ### 回答2: jQuery是一种流行的JavaScript库,它提供了一种简单的方式来操作DOM对象并执行异步请求。通过jQuery的Ajax功能,我们可以实现向后端服务器发送异步请求,并且无需页面刷新即可在页面上响应返回结果。使用jQuery的Ajax功能可以使我们实现获取实时天气的功能,以下是基于jQuery实现天气预报查询的步骤: 第一步:获取天气API接口 在查询之前,我们需要先获得一个可信的天气 API 接口。目前,市场上存在大量的气象和天气API供应商,可以选择APIStore、心知天气、中国气象数据服务平台等供应商的API接口,这里以心知天气API为例。 第二步:实现页面布局 通过HTML和CSS实现一个简单的页面布局,使用户可以输入城市名并查询对应的天气信息。 第三步:异步请求天气信息 使用jQuery的Ajax功能发送异步请求,在页面上响应返回的结果。通过以下代码可以实现向心知天气API发送异步请求获取天气预报信息: $.ajax({ url: "https://api.asilu.com/weather/", type: "GET", data: { city: city }, dataType: "jsonp", success: function(data) { // 在页面上响应返回的结果 }, error: function() { alert("请求失败,请检查网络!"); } }); 第四步:页面显示天气信息 通过 jQuery 的Select工具,定位到需要显示数据的 DOM 节点,在 DOM 节点上更改文本内容。通过以下代码可以实现在页面上显示天气预报信息: $("#weather").html("城市:" + data.city + "<br>" + "日期:" + data.date + "<br>" + "天气:" + data.weather + "<br>" + "温度:" + data.temperature + "<br>" + "风向:" + data.windDirection + "<br>" + "风力:" + data.windPower + "<br>"); 以上就是利用jQuery 实现天气预报查询的基本步骤。随着技术的不断进步和API接口的更新,天气预报查询功能也将不断优化。 ### 回答3: jquery ajax 天气预报查询是一种基于 jQuery 和 ajax 技术开发的天气预报查询服务,通过向天气预报 API 发送 HTTP 请求,获取实时天气信息。该服务不仅在前端页面上提供用户便捷的天气查询,同时拓展了 javascript 开发的应用范围,以便于开发可视化数据查询,数据分析和监控等应用。 使用 jquery ajax 天气预报查询服务,首先需要申请天气 API key。将 API key 保存至变量中,通过 jQuery 的事件处理函数获取用户输入的城市名称,构建 HTTP 请求 URL,发送请求数据获取 json 格式的数据。将数据解析后显示在页面上,通过 CSS 样式进行美化。 该服务能够获取天气信息中的气温、空气湿度、风力等指标,并按照用户需求进行定制化展示,如图标、背景色、动画等。查询的过程中不需要刷新页面即可返回实时的天气信息,实时性较高,用户体验良好。 虽然该服务具有一定的便利性和易用性,但是在使用过程中,需要注意一些问题,如 API key 的安全性和率限制、数据解析错误、网络传输出错等。同时,应该遵循天气 API 接口的使用原则和服务条款,避免滥用、超过频率限制等行为。 总的来说,jquery ajax 天气预报查询服务为我们提供了一种快捷、方便、可视化的天气信息查询服务。通过灵活运用 jQuery iframe ajax 技术,不仅满足了用户信息查询的需求,同时为我们提供了开发可视化应用的参考范例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值