部署的AWS S3代码与本地相同的文件的工作方式不同

时间:2018-05-17 04:14:25

标签: javascript jquery amazon-web-services amazon-s3 google-geolocation

我知道"但它适用于我的电脑"是我不应该说的事情之一,但我们在这里。

我有一个小应用程序可以获取您的位置,获取您的天气,然后为您提供音乐播放列表。

在本地使用这些文件,您可以使用地理定位或按名称搜索任何位置。

在我部署的S3版本上,搜索任何位置只会显示您的地理位置结果。因此输入和搜索表单不起作用。

以下是代码:

输入位置:

    $("#input-location").click(function(event){
    event.preventDefault();

    $('#mix-display').show();
    $('#skipButton').show();

    getWeatherWithUserInput()
  .then(function(response) {
    weatherCode = response;
    showMix(weatherCode);
    })
});

获取地理位置的位置:

$('#get-location').click(function(event){
    event.preventDefault();

    $('#mix-display').show();
    $('#skipButton').show();

    getWeatherWithGeo()
  .then(function(response) {
    weatherCode = response;
    showMix(weatherCode);
     })   
});

以下是两个天气功能(我知道这里有很多愚蠢的代码重复,我最终会解决这个问题!):

function getWeatherWithGeo() {
  return new Promise(function(resolve,reject) {
    getGeoLocationGoogle()
      .then(function(response) {
          var lat = response.location.lat;
          var lon = response.location.lng;
          var weatherLLQueryURL = "http://api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lon + "&appid=" + WeatherAPIKey;

          $.ajax({
              url: weatherLLQueryURL,
              method: "GET"
          }).done(function(response) {
              $(".wind").html("<h2>" + response.name + ": </h2>");
              var f_temp = 9/5*(response.main.temp-273)+32;
              $(".temp").html("<h2>" + Math.floor(f_temp) + "&#8457;</h2>");
              resolve(response.weather[0].id);
          });
        })
      })
    }

从输入中获取天气:

function getWeatherWithUserInput() {
  return new Promise(function(resolve, reject) {
   var location = $("#location").val().trim();
   var weatherCSQueryURL = "http://api.openweathermap.org/data/2.5/weather?q=" + location + "&appid=" + WeatherAPIKey;

    $.ajax({
      url: weatherCSQueryURL,
      method: "GET"
     }).done(function(response) {
       $(".wind").html("<h2>" + response.name + ": </h2>");
       var f_temp = 9/5*(response.main.temp-273)+32;
       $(".temp").html("<h2>" + Math.floor(f_temp) + "&#8457;</h2>");
       resolve(response.weather[0].id);
       });
    });
  };

完整代码在这里:https://github.com/nicktamburro/YouAreListeningToWeather

在此处部署版本:http://www.youarelisteningtoweather.com

0 个答案:

没有答案