2013-10-25 60 views
0

我想使用Steam WEB API生成一些關於遊戲的統計信息。爲了使用Steam WEB API,我必須使用我應該隱藏的密鑰。我想用JavaScript處理所有的數據處理,這不允許我隱藏密鑰。所以我想出了這個解決方案。我在php中查詢數據庫,並將JSON對象傳遞給JavaScript。我的問題是這是否是這樣做的首選或最佳方式。將JSON從PHP傳遞到JavaScript(隱藏Steam WEB API密鑰)

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> 

回答

0

應該有無需重新編碼全部來自對JavaScript處理PHP文件解碼檢索的JSON數據。您可以編寫JavaScript函數,通過傳遞PHP解碼結果來完成他們所需的工作,並使用PHP調用JavaScript函數。

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

假設$參數1和$參數2,你有一些來自API調用解碼JSON數據製成PHP變量,該網頁的HTML源將顯示此像被通過硬編碼的可變參數標準的JavaScript函數調用。

您的JavaScript函數可以完成所需的參數。

如果您的數據處理是「呈現一次」類型的事務,我建議您使用PHP而不是JavaScript來編寫數據處理函數,以消除混淆,但是您可以根據需要傳遞所需內容PHP和JavaScript不發送所有數據。