【问题标题】:Can not get data from AJAX request to the Coinhive API无法从 AJAX 请求获取数据到 Coinhive API
【发布时间】:2018-05-01 16:57:55
【问题描述】:

我最近尝试从 Json API 获取数据并将其发布回 html 表格中。 我试图这样做:https://api.coinhive.com/user/balance?name=username&secret=mysecret 它确实向我展示了:{"success":true,"name":"*user*","total":49152,"withdrawn":0,"balance":* a value *}

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

我设置了包含所有values 的用户门户,但我无法让part 工作。

谁能帮帮我?

共同感谢, 丹尼斯。

编辑:

我尝试了以下方法:

<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>

我也试过了:

function setup() {
    loadJSON("https://api.coinhive.com/user/balance?name=username&secret=mysecret", gotData);
}

function gotData(data) {
    alert(data);
}

这是行不通的。 我做错了什么?

【问题讨论】:

  • 当您说“表”时,您指的是 HTML &lt;table&gt; 标记还是 SQL 表?
  • 你做了什么来接收和处理 JSON 数据?请出示您的代码。
  • @dustin,我指的是html表。
  • 我在重写了几个小时后删除了代码。我还在stackoverflow中搜索以找到有同样问题的人。当尝试其他示例 json 文件时它确实可以工作,我只是不知道为什么应用程序 json 没有
  • 所以您已经从 API 获取了这个 JSON 到您的页面,并且您想将它推送到您服务器上的数据库,对吗?您需要的是一个 ajax 请求,它将将该 JSON 发送到您的服务器。你试过这样做吗?

标签: mysql json javascript php json api


【解决方案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 部分。

【讨论】:

    【解决方案2】:

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

    From API documentation:

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

    【讨论】:

    • 你确实不应该从客户端。我的上一篇文章是解决方案,它与 php 一起使用。不过,感谢您在您的帖子中为我指出正确的方向。我使用了 php cURL,它更容易与我的用户交互结合
    猜你喜欢
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多