xmlhttprequest,fetch() 什么都行

xmlhttprequest,fetch() whatever works

我已经研究了 Whosebug 大约一个星期了,但我就是找不到解决我问题的方法。我在 youtube 上搜索了教程,图书馆大约有 8 本书。到目前为止,大多数(如果不是全部)消息来源对需要做什么都只有模糊的解释。

我只是想从 API 中提取代码数据并将其显示在屏幕上。我已经从 Whosebug、dummies guides、SAMS、youtube tutorials 中输入了示例……没有任何效果。我知道同源策略,但我不确定它是否是导致所有错误的原因。我单击按钮,但没有任何显示。我在 Chrome 和 Firefox 中关闭了我的安全...仍然没有。

这是我为傻瓜从 Javascript 中复制的一个简单脚本。我修改了它以使用我想要的 api 和 api returns 这个数据:

[
    {
        "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> 

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

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(); 
}