2016-04-13 10 views
3

内部からの変数:アクセス私は私のjsファイルに次のしているAJAX呼び出しの成功

var highestNumb; 
$.ajax({ 
      url: 'https://api.m.hostelworld.com/1.5/properties/'+propID+'/?update-cache=true', 
      dataType: 'json', 
      headers: { 
      "Accept-Language": lang 
      }, 
      success: function(json) { 
      var numb = 0; 
      for (var key in json.rating) { 
       numb = Math.max(numb, json.rating[key]); 
      } 
      highestNumb = numb; 
      return highestNumb; 

      }, cache: false 
}); 
var enH3 = 'Fellow travellers have rated this property ' + highestNumb + ' out of 100.', 
    deH3 = 'Gäste haben das Hostel mit ' + highestNumb + ' von 100 Punkten bewertet. ', 
    frH3 = 'Les autres voyageurs ont classé cette propriété ' + highestNumb + ' sur 100', 
    esH3 = 'Otros viajeros han puntuado este alojamiento con u ' + highestNumb + ' sobre 100.', 
    itH3 = "I tuoi compagni di viaggio hanno recensito questa struttura " + highestNumb + " su 100", 
    brH3 = 'Hóspedes anteriores avaliaram esta propriedade em ' + highestNumb + ' de 100.', 
    ptH3 = 'Hóspedes anteriores avaliaram esta propriedade em ' + highestNumb + ' de 100.', 
    koH3 = '직접 여행한 숙박객들은 이 호스텔을 10점 만점 중 XX점 주셨습니다. '; 

私は以下の変数の変換で、私は「highestNumber」を渡すたびに未定義取得しています。

私は間違った方法で変数にアクセスしていますか?

+0

あなたはそれを 'async:false' wayですか?あなたは 'AJAX'が非同期であるとは考えていませんでしたか? – Rayon

答えて

3

成功関数で別の関数を呼び出す必要があります。 setVars(highestNumb)を呼び出し、enH3、deH3などの変数をその関数に設定するコードを記述します。

success: function(json) { 
    //your code 
    setVars(numb); 
} 

function setVars(highestNumb) 
{ 
    enH3 = 'Fellow travellers have rated this property ' + highestNumb + ' out of 100.'; 
    //.... 
} 
-1

非同期入れてください:偽

するvar highestNumbを。 'JSON'、 非同期:偽、 ヘッダ:{ "受け入れ言語": LANG} $アヤックス({ URL: dataTypeと 'https://api.m.hostelworld.com/1.5/properties/ '+ PROPID +'?/更新-キャッシュ= true' に、 成功:関数(JSON){ VARの麻痺= 0; (json.ratingにおけるVARキー){ 麻痺= Math.maxため(しびれ、json.rating [キー]);} highestNumb =無感覚。 return highestNumb;

 }, cache: false 

});

+2

__は絶対に入れないでください:__ – Rayon

+0

同期リクエストは廃止予定です。それらを使用しないでください。 – Quentin

関連する問題