2017-03-02 2 views
1

私はチュートリアルが作成されて以来、私は自分のサービスで使用しなければならないリンクが変更されているので、 apam.openweathermap.orgが今必要とするappidであるparamのparam

function weatherFactory($http) { 
    return { 
     getWeather: function(city, country) { 
      var query = city + ', ' + country; 
      var key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
      return $http.get('http://api.openweathermap.org/data/2.5/weather?', { 
       params: { 
        q: query, 
        appid: key 
       } 
      }).then(function(response) { 
       // //then() returns a promise which 
       // is resolved with return value of success callback 
       return response.data.weather[0].description; 
      }); 
     } 
    }; 
} 

のリンクは次のようになります。だから私は、getにおける第二のparamsのようにキーを入れて、しかし私は、APPIDの前でこの&を追加する方法がわからない

http://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b1b15e88fa797225412429c1c50c122a1 

それらのリンクの例のようになります。 誰かがそれを行う方法を教えてもらえますか?

+0

あなたの質問は正確ですか?どのようにURLを作成する?、paramsを追加する方法? –

答えて

2

が、私は彼ら

からのリンクの例のようになり、APPIDの前でこの &を追加する方法がわかりません

&クエリ文字列の区切り文字です。これは、渡すオブジェクトをparamsに変換するときに追加する必要があります。

オブジェクトをクエリ文字列に変換していません。角はあります。したがっては何もしません。角はあなたのためにそれを行います。


あなたはそれを手動で変換した場合、あなたのようなものだろう:

var pairs = []; 
Object.keys(obj.params).forEach(function (key) { 
    pairs.push(encodeURIComponent(key) + "=" + encodeURIComponent(params[key])); 
}); 
var query_string = pairs.join("&"); 

を...しかし、前述のように。それは図書館によってあなたのために行われています。

関連する問題