0

我想使用 Steam WEB API 来生成一些关于游戏的统计数据。为了使用 Steam WEB API,我必须使用我应该隐藏的密钥。我想用 JavaScript 进行所有的数据处理,这不允许我隐藏密钥。所以我想出了这个解决方案。我在 php 中查询数据库,并将 JSON 对象传递给 JavaScript。我的问题是这是否是首选或最佳方式。

PHP:

<?php
$matchDetailsUrl  = "https://api.steampowered.com/IDOTA2Match_570/GetMatchDetails/V001/? match_id=<MATCHID>&key=<KEY>";
$matchDetailsRaw  = file_get_contents($matchDetailsUrl);
$matchDetailsJson = json_decode($matchDetailsRaw);
?>

JavaScript:

<script>
var obj = JSON.parse('<?php echo json_encode($matchDetailsJson) ?>');
console.log(obj);
</script>
4

1 回答 1

0

无需重新编码从 PHP 文件解码中检索到的所有 JSON 数据以进行 JavaScript 处理。您可以通过传递 PHP 解码的结果来编写您的 JavaScript 函数来完成所需的工作,并使用 PHP 调用 JavaScript 函数。

<?php
    echo "<script>functionName(" . $parameter1 . ", " . $parameter2 . ");</script>";
?>

假设 $parameter1 和 $parameter2 是您使用来自 API 调用的一些解码的 JSON 数据创建的 PHP 变量,页面的 HTML 源代码将像标准 JavaScript 函数调用一样显示它,并传递硬编码的变量参数。

你的 JavaScript 函数可以使用给它的参数做它需要做的事情。

如果您的数据处理是“一次渲染”类型的事情,我建议用 PHP 而不是 JavaScript 编写数据处理函数以消除混淆,但您绝对可以传递您需要的内容,因为您需要在 PHP 和 JavaScript 之间传递无需发送所有数据。

于 2014-01-31T15:49:02.927 回答