xmlhttprequest,fetch()无论什么工作

时间:2017-05-20 16:46:31

标签: javascript xmlhttprequest fetch

我现在已经超过了stackoverflow大约一个星期了,我无法找到解决问题的方法。我已经在youtube上搜索了教程,并从图书馆中获得了大约8本书。到目前为止,大多数(如果不是所有的)消息来源都只对含义的内容进行了模糊的解释。

我只是试图从API中提取自动收报机数据并将其显示在屏幕上。我已经从stackoverflow,虚拟指南,SAMS,youtube教程中输入了一些示例....没有用。我知道同源策略,但我不确定是什么导致所有错误。我点击按钮,没有任何显示。我在Chrome和Firefox中关闭了我的安全性......但仍然没有。

这是一个我用Javascript复制傻瓜的简单脚本。我已修改它以使用我想要的api并且api返回此数据:

[
    {
        "id": "honey", 
        "name": "Honey", 
        "symbol": "HONEY", 
        "rank": "369", 
        "price_usd": "0.240062", 
        "price_btc": "0.00012133", 
        "24h_volume_usd": "652.439", 
        "market_cap_usd": "16398.0", 
        "available_supply": "68306.0", 
        "total_supply": "68306.0", 
        "percent_change_1h": "2.05", 
        "percent_change_24h": "-15.47", 
        "percent_change_7d": "-70.84", 
        "last_updated": "1495298087"
    }
]

我只想在我的网页上显示美元价格。

我会感激任何帮助,我通常更喜欢为自己搞清楚事情,但我担心我已经被困在这一周坚实了。这只是一个例子,我完全接受任何有效的代码。 这是我的剧本:

<html>
    <head>
    <title>Displaying JSON Data</title>

        <script type="text/javascript"> 
        window.addEventListener('load',init,false);
        function init(e)P
        document.getElementbyId('mybutton').addEventListener('click',documentLoader,false);
        }
        function reqListener(){
        var obj = JSON.parse(this.responseText);

        document.getElementId('price_usd').innerHTML=obj.price_usd;
        }

        function documentLoader(){
        var oReq = new XMLHttpRequest();
        oReq.onload = reqListener; 
        oReq.open("GET", "https://api.coinmarketcap.com/v1/ticker/HONEY/?convert=USD",true); 
        oReq.send(); 
        }
        </script>

    </head>
<body>
    <form id="myForm">
        <button id="myButton" type="button">Click to load</button>
    </form> 
<h1>Honey Coin Price:</h1>
<div id="price_usd"></div>
</body> 
</html> 

1 个答案:

答案 0 :(得分:0)

你有几个错别字,这似乎工作正常:

window.addEventListener('load',init,false);

function init(e) {
    document.getElementById('myButton').addEventListener('click',documentLoader,false);
}

function reqListener() {
    var obj = JSON.parse(this.responseText);
    document.getElementById('price_usd').innerHTML= obj[0].price_usd;
}

function documentLoader(){
    var oReq = new XMLHttpRequest();
    oReq.onload = reqListener; 
    oReq.open("GET", "https://api.coinmarketcap.com/v1/ticker/HONEY/?convert=USD",true); 
    oReq.send(); 
}