如何使用Javascript提取API,对提取数据运行计算以及将结果发布到网页上?

时间:2019-05-15 12:17:53

标签: javascript api

我正在尝试将代码注入网页。情况如下:

api网址:https://blockchain.info/q/hashrate

计算:((哈希* 1249)/(27518 * 1000000)

然后将计算结果发布到页面。

这是我到目前为止创建的javascript:

$(document).ready(function () {
    $.ajax({
        url: 'https://blockchain.info/q/hashrate',
        type: "GET",
        dataType: "jsonp",
        success: function (data) {
            console.log(data);
            var hashrate = (data);
            var miner_cost = ((hashrate * 1249)/(27518 * 1000000)
            $.html(miner_cost);
        }
    });
});

我已经在python中成功创建了它:

import requests
import json

url = 'https://blockchain.info/q/hashrate'

BTC_Hashrate = requests.get(url).json()

BTC_Minercost_S15_28T = ((BTC_Hashrate *1249)/(28*39*2016*12.5*1000))

print BTC_Minercost_S15_28T

任何帮助将不胜感激。原谅我,我犯了罪过……我是python用户。

非常感谢!

3 个答案:

答案 0 :(得分:0)

您真的不需要jQuery:

fetch('https://blockchain.info/q/hashrate')
    .then(res => res.json())
    .then(hashRate => {
        const minerCost = (hashRate * 1249) / (27518 * 1000000)
        document.body.innerHTML = minerCost
    })

这是一个小提琴:https://jsfiddle.net/jz4n2ydm/

答案 1 :(得分:0)

您可能对jQuery有一些问题。这个正在为我工​​作。我已将数据类型更改为json。

$(document).ready(function () {
$.ajax({
    url: 'https://blockchain.info/q/hashrate',
    type: "GET",
    dataType: "json",
    success: function (data) {
        console.log(data);
        var hashrate = (data);
        var miner_cost = (hashrate * 1249)/(27518 * 1000000);
        alert(miner_cost);
    }
});  });

答案 2 :(得分:0)

您无法通过JavaScript更改API的响应。 (想想如果任何人只要编写脚本并更改可通过网络访问的任何数据,就会发生什么。)

为了实现您的目标,您必须配置该API的服务器,以便它可以接收通过HTTP发送给它的数据(即,它不仅必须处理对/q/hashrate的GET请求,而且必须以及POST请求(可能到其他路由),并相应地更改其内部状态。然后,它可以在后续的GET请求中返回更新的数据。

但是,由于您似乎无法控制服务器,因此实际上您无能为力,无法更改数据。