无法从AJAX请求获取数据到Coinhive API

时间:2017-11-17 20:24:10

标签: javascript php json api

我最近尝试从Json API获取数据并将其发布回html中的表。 我试过这样做:=== 它确实告诉我:https://api.coinhive.com/user/balance?name=username&secret=mysecret

但是我想让我的用户按下一个按钮,该按钮会将余额值加载到他们自己的用户门户中的表中。

我获得了包含所有值的用户门户网站设置,但我无法让部分工作。

有人可以帮助我吗?

非常感谢, 丹尼斯。

编辑:

我尝试了以下内容:

{"success":true,"name":"*user*","total":49152,"withdrawn":0,"balance":* a value *}

我也尝试过:

<html lang="en">
<head>
<title>JavaScript - read JSON from URL</title>
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>

<body>
    <div class="mypanel"></div>

    <script>
    $.getJSON('https://api.coinhive.com/user/balance?name=username&secret=mysecret', function(data) {

        var text = `Balance: ${data.balance}<br>`


        $(".mypanel").html(text);
    });
    </script>

</body>
</html>

这不起作用。 我做错了什么?

2 个答案:

答案 0 :(得分:1)

想通了!

JSON请求:

<?php
$url = 'the api url';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  "Content-Type: application/x-www-form-urlencoded"
));

$data = curl_exec($ch);
curl_close($ch);

$result = json_decode($data, true);

?>

回发给最终用户:

<span id="test" style="color:white"><?php
if (isset($data))
{
   echo $result['balance'];
}
else
{
   echo 'damn';
}
?></span>

我决定使用php和html getjson部分。

答案 1 :(得分:0)

客户端对Coinhive HTTP API的请求受CORS规则的限制:

From API documentation

  

您永远不应该从客户端调用Coinhive HTTP API。