如何在网站中使用weather API

时间:2013-09-16 10:40:12

标签: javascript web-services api

我正在开发天气应用程序,我正在尝试使用来自worldweatheronline.com网站的API。但我的问题是如何在我的网站上开始使用这个天气API。因为我已经从SO中读过一个问题,并且不清楚解决方案How to integrate the weather api into my website?。所以请帮助我如何使用Javascript开始使用这些API。任何例子将不胜感激。请记住,我是网络应用程序API使用的新手。

我从网站得到的回复是

Request URI
  http://api.worldweatheronline.com/free/v1/search.ashx?q=Chennai&format=json&key=53jjtnrm9d5jucpmxyyhj7vn

请求标头        {        “X-Originating-Ip”:“14.140.167.22”        }

Response Headers

     {
   "Age": "0",
   "Cache-Control": "public, no-cache=\"Set-Cookie\", max-age=120",
   "Content-Type": "application/json; charset=utf-8",
  "Date": "Mon, 16 Sep 2013 09:02:34 GMT",
  "Server": "Microsoft-IIS/7.5",
  "X-Aspnet-Version": "4.0.30319",
  "X-Cache": "MISS",
  "X-Mashery-Responder": "prod-j-worker-eu-west-1a-96.mashery.com",
  "X-Powered-By": "UKFast Webcelerator",
  "Transfer-Encoding": "chunked",
  "Connection": "keep-alive"

}

 Response Body
      {
    "search_api": {
    "result": [{
        "areaName": [{
            "value": "Chennai"
        }],
        "country": [{
            "value": "India"
        }],
        "latitude": "13.083",
        "longitude": "80.283",
        "population": "0",
        "region": [{
            "value": "Tamil Nadu"
        }],
        "weatherUrl": [{
            "value": "http:\/\/www.worldweatheronline.com\/Chennai-weather\/Tamil-Nadu\/IN.aspx"
        }]
    }]
   }
   }

2 个答案:

答案 0 :(得分:1)

请访问http://api.jquery.com/jQuery.ajax/,了解如何拨打网络服务。

对于您的天气API,请注册,获取密钥

  $.ajax(
{
    Type: "GET",
    contentType: "application/json",
    url: "http://api.worldweatheronline.com/free/v1/weather.ashx?q=London&format=json&num_of_days=5&key=yourkey",

    success: function (msg) {
        $("#success").text(msg);
    }
});

这是获取当地天气的一个例子。

答案 1 :(得分:0)

您也可以通过php:

这样做
$url="http://api.worldweatheronline.com/free/v1/weather.ashx?q=[LOCATION]&format=json&num_of_days=5&key=[YOUR_KEY]";
$json=file_get_contents($url);
$data=json_decode($json,true);
//var_dump($data);
echo $data['data']['weather'][0]['tempMaxF']."<br />";

这就是我正在使用的东西,因为我只是在加载时运行它并且我没有在应用程序中使用它;就在网页上。