2017-03-01 20 views
2

私は通貨層から無料のメンバーシップを持っています。私は通貨を変換したいが、自由なメンバーシップでは許可されていない。代わりに、彼らは私に現在の為替レートを得ることができるLIVE APIを提供しました。そこで、jQueryコードを使ってtic tacを実行することで、通貨換算にこのライブAPIを使用する方法を決定しました。私はコードをある程度変更しました。私はちょうどほぼ成功したと思います(私は間違っているかもしれません)。私はjQueryの実用的な知識が限られているので、最後のところで立ち往生しています。以下は、問題の説明とコードです。通貨レイヤーAPI

APIは、私が上記で使用

// set endpoint and your access key 
endpoint = 'live' 
access_key = 'YOUR_ACCESS_KEY'; // can't reveal API key 

var from = $('#from').val(); 
var to = $('#to').val(); 
var combine = from+to; 

// get the most recent exchange rates via the "live" endpoint: 
$.ajax({ 
    url: 'http://apilayer.net/api/' + endpoint + '?access_key=' + access_key, 
    dataType: 'jsonp', 
    success: function(json) { 
    // exchange rata data is stored in json.quotes 
    //var response = json.quotes.combine; 
    alert(json.quotes.combine); // HERE IN PLACE OF USDGBP I USED THE COMBINE VARIABLE 
    $('#convert').html('response'); 
} 
}); 

combine変数が定義されて戻ってみました何彼らから

// set endpoint and your access key 
endpoint = 'live' 
access_key = 'YOUR_ACCESS_KEY'; // can't reveal API key 

// get the most recent exchange rates via the "live" endpoint: 
$.ajax({ 
    url: 'http://apilayer.net/api/' + endpoint + '?access_key=' + access_key, 
    dataType: 'jsonp', 
    success: function(json) { 

     // exchange rata data is stored in json.quotes 
     alert(json.quotes.USDGBP); 

     // source currency is stored in json.source 
     alert(json.source); 

     // timestamp can be accessed in json.timestamp 
     alert(json.timestamp); 

    } 
}); 

を受けました。おそらく、私はjqueryの知識が限られているため、適切にコードを作成しなかったでしょう。私はこれを修正することができれば、おそらくコードを使用することができます。私を助けてください。

答えて

2

名前を保持する変数を介してオブジェクトプロパティにアクセスするには、カッコ表記を使用する必要があります。 inputの値を設定するには、val()を使用します。これを試してください:

success: function(json) { 
    var value = json.quotes[combine]; 
    $('#convert').val(value); 
} 
+0

Working ...と#convertは、ここでID変換を行うフォームフィールドです。私はフォームフィールドにこの結果を配置する必要があります。 'var response = json.quotes [combine];'を取ったとします。これをフォームフィールドに出力する方法は?上記の私のコードは間違っているようです。 –

+0

'#convert'要素が入力の場合は、' $( '#convert').val(response); 'のように、値を設定するのに' val() 'を使うべきです。私はあなたの答えを更新しました。 –

+0

は私が望んでいたように完全に機能しています。しかし、無料のメンバーシップの1000 API要求制限をバイパスする方法があるのか​​どうか疑問に思っています。 –