调用网站并获取 JSON 信息

Calling a website and getting JSON information back

本文关键字:JSON 信息 获取 网站 调用      更新时间:2023-09-26

我在javascript使用API以及如何调用网站和获取信息方面不太有经验。我以前在Java中使用HTTP对象等功能做过此操作。我正在尝试制作一个应用程序,用户可以在其中输入公司股票名称(例如 APPL)并获取大量数据,例如收益、损失、变化等。这应该不难。我有一个html/javascript文件,其中包含股票名称的输入文本框。这部分很容易。但是在我通过串联将股票名称附加到 URL 末尾后,我不知道如何进行调用并获取 JSON 信息。在我正在使用的网页中,有一些关于如何用其他语言执行此操作的示例,但不适用于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;
    }

哇,事实证明,这比我预期的要多得多。这是我在雅虎财经代码中使用的 URL 字符串。我可以在浏览器中导航到它,它就像一个魅力。对于我的生活,我不明白为什么这不起作用。

var urlEncoded = "http://www.finance.yahoo.com/webservice/v1/symbols/" + textValue.toString() + "/quote?format=json";

你可以试试jQuery,谷歌下载它。这是一个JavaScript框架,使事情变得更简单。

$.get( "http://yourur.com/file.php?parameter1=value1&parameter2=value2", function( data ) {
    //data now contains whatever it loaded from server
    console.log("Loaded from server :", data);
}, "json");