私は、API の使用や Web サイトを呼び出して情報を取得する方法について、javascript の経験があまりありません。HTTPオブジェクトなどを使用してJavaでこれを行ったことがあります。ユーザーが APPL などの会社の株式名を入力して、利益、損失、変更などの大量のデータを取得できるアプリケーションを作成しようとしています。これはそれほど難しいことではありません。株式名の入力テキスト ボックスを含む html/javascript ファイルがあります。この部分は簡単です。しかし、連結によって URL の末尾に株式名を追加した後、呼び出しを行って JSON 情報を取得する方法がわかりません。私が使用しているWebページには他の言語でこれを行う方法の例がありますが、javascriptではありません。このリンクをチュートリアルとして使用しています:
http://digitalpbk.com/stock/google-finance-get-stock-quote-realtime
ここまでの私の JavaScript コードは次のとおりです。これに関するヘルプは大歓迎であり、将来知っておくとよいでしょう。
script type="text/javascript">
var submitButton = document.getElementById("submitButton");
submitButton.addEventListener('click', actionPerformed, false);
function actionPerformed(e)
{
var textValue = document.getElementById("stockTextBox").value;
var urlEncoded = "http://finance.google.com/finance/info?client=ig&q=NASDAQ:" + textValue.toString();
for (var i = 0, len = urlEncoded.length; i < len; ++i) {
var object = urlEncoded[i];
confirm(object.toString());
}
}
</script>
HTTP GET を使用するための次のコードを見つけて試してみましたが、送信ボタンをクリックしても何も起こりません。何をすべきか、何が間違っているかについての提案はありますか???
function httpGet(theUrl)
{
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}
うわー、これは私が予想していたよりもはるかに多くの作業であることが判明しました。これは、yahoo ファイナンスのコードで使用している URL 文字列です。ブラウザでナビゲートでき、魅力的に機能します。私の人生では、なぜこれが機能しないのか理解できません。
var urlEncoded = "http://www.finance.yahoo.com/webservice/v1/symbols/" + textValue.toString() + "/quote?format=json";