2017-03-16 12 views
0

<p id="kraken_btc_eur">がクリックされたときに、APIから値フェッチを返すapplication.jsファイルにこのJqueryコードがあります。 このコードは機能しますが、クリックすることなく自動的に動作します。私はsetInterval()を試しましたが、値を更新しないので動作していないようです。私が返そうとしている価値はAPIで絶えず変化しています。なぜなら、あなたが株式市場のウェブサイトで見るのと同じ方法で、自動的に返却したいからです。JavaScriptでレールにAPIリクエスト値を自動的に返します

$('#kraken_btc_eur').click(function(){ 
    $.get('https://api.kraken.com/0/public/Ticker?pair=XXBTZEUR', function(data){ 
    var kraken_btc_eur = data.result.XXBTZEUR.c[0] 
    $("#kraken_btc_eur").html("<p>"+kraken_btc_eur+"</p>"); 
    // console.log(data.result.XXBTZEUR.c[0]); 
    }) 
}); 

yurガイダンスのために多くのありがとうございます。

+0

だから、1回またはx秒ごとに実行されますか? – Uzbekjon

+0

はい自動的に10秒ごとに自動的に更新されるので、最も正確な新しい値を取得することができます – Antoine

+0

httpsyという名前の宝石を使用してAPIデータを取得していましたが、値が常に変化することがわかったので、ページを更新します。私はそれがAJAXコールのように聞こえることを知っている、私はCRUDアクションのAJAXを理解するが、APIの値を取得するためではない、それは事ですか? – Antoine

答えて

1

最も簡単な方法は、このようにそれを行うには、次のようになります。

$(document).ready(function(){ 
    setInterval(function(){ 
     $.get('https://api.kraken.com/0/public/Ticker?pair=XXBTZEUR', function(data){ 
      $("#kraken_btc_eur p").text(data.result.XXBTZEUR.c[0]); 
     }); 
    }, 10000); 
}); 

PS。私は、ajaxコール仕上げの次のアップデートを呼び出すことで、さらに改善することを提案します。

+0

これは動作せず、エラーを引き起こします。 setintervalの中でクリックイベントが発生しても動作しないようです。あなたは私にajaxコールの例を教えてください。 – Antoine

+0

申し訳ありませんが、それを削除するのを忘れました:)更新... – Uzbekjon

+0

本当にありがとうございます。なぜ '.text()'ではなく '.html()'なのか説明できますか?また、10秒ごとに新しいリソースを作成します。古いものを削除する方法はありますか?おそらくそれは問題ではない。古いリソースがどこかに保存され、スペースを使用するかどうかは不思議です。 – Antoine

関連する問題