使用string.replace()来更改URL

时间:2016-02-17 01:00:48

标签: javascript jquery html

我在网页上有一个输入文本框,要求提供城市名称,并在其旁边显示提交按钮。在我的JavaScript文件中,我有一个变量var = url,它包含用于从openweathermap获取数据的http地址。我想使用string.replace(currentCity,inputTextCity)来改变该URL中的现有城市。这是正确的方法还是有更简单的方法?用JQuery做这个会更容易吗?任何帮助,将不胜感激!我的CodePen链接是http://codepen.io/RDaniels34/pen/zreZwy 我的页面JavaScript是

$(document).ready(function() {
 var url = "http://api.openweathermap.org/data/2.5/weather?q=" + 'Las Cruces' + ",us&units=imperial&APPID=421da4492f2bbe838d519b0e92139dfd"; 

  $.getJSON(url, function(json) {

    var city = json.name;
    var wind = json.wind.speed;
    var temperature = json.main.temp;
    var weather = json.weather[0].main;
    $(".temp").html(temperature.toFixed(1) + " °F");
    $(".city").html(city);
    $(".wind").html("Wind " + wind + " mph");
    $(".weather").html(weather);
    switch (weather) {
      case "Rain":
        $("#icon").addClass("wi-rain");
        break;
      case "Thunderstorm":
        $("#icon").addClass("wi-thunderstorm");
        break;
      case "Drizzle":
        $("#icon").addClass("wi-raindrops");
        break;
      case "Snow":
        $("#icon").addClass("wi-snow");
        break;
      case "Atmosphere":
        $("#icon").addClass("wi-dust");
        break;
      case "Clear":
        $("#icon").addClass("wi-day-sunny");
        break;
      case "Clouds":
        $("#icon").addClass("wi-cloudy");
        break;
      default:
        break;
    }

   function getUrl(city){
      url.replace('Las Cruces', city);
   }
 });
});

2 个答案:

答案 0 :(得分:1)

替换你可以像这样使用Global Variable

Var currentCity = "MM"

function getUrl(){
 var url="www.zzzzz.com?currentCity="+currentCity;
}

点击提交按钮时,将currentCity varibale的值更改为用户输入的值并调用getUl()

答案 1 :(得分:1)

你可以用普通的javascript做到这一点,不需要jQuery或其他。但是你需要做编程才能自己做这样的微不足道的事情。我希望我没有冒犯你。

function getUrl(city){
 return "http://someurl.com" + (city ? '?City=' + city : ''); // should add check for cases
}

getUrl('neyyork');