没有得到openweather api的json响应

时间:2017-02-15 10:11:01

标签: javascript jquery json ajax jsonp

我正试图从http://openweathermap.org/获取当前天气。首先,我使用html5 geolocation api获得经度和纬度。我能够成功地做到这一点。接下来我尝试使用ajax对openweather进行ajax调用以获取当前的天气状况,但是ajax调用不成功。这是我的代码。请帮我确定一下这个问题。

window.onload = getLocation();

function getLocation()
{
   if(navigator.geolocation) {
     // The coordinate object of the  location is passed to the displayWeathe function
     navigator.geolocation.getCurrentPosition(displayWeather);
   }
   else { // geolocation not supported
     var msg = document.getElementById("content");

     msg.innerHTML = "Geolocation not supported in your browser!!";
   }
}
function displayWeather(position) {
  // Get the Latitude and Longitude
  var latitude = position.coords.latitude;
  var longitude = position.coords.longitude;

  // url for openweather api
  var url = "api.openweathermap.org/data/2.5/weather?lat="+latitude+"&lon="+longitude+"&APPID=<my_key>";
  alert(url);

  // get weather from OpenWeather Map
  $.ajax({
    dataType: "jsonp",
    url: url,
    method:"GET",
    jsonCallback: 'jsonp',
    cache: false,
    success: function (data) {
       alert("Success");
    },
    error: function(data) {
      alert("OOPS");
    }
  });

我也试过这个而不是ajax调用。这也行不通。

$.getJSON(url,function(json){
    alert("Success");
  }).fail( function(json, textStatus, error) {
        alert("getJSON failed, status: " + textStatus + ", error: "+error)
 });

网址是正确的,当我在浏览器中复制粘贴网址时,我得到了JSON响应。您可以看到实时演示here

0 个答案:

没有答案