gpt4 book ai didi

javascript - PHP/JS : Multi-dim PHP array as Javascript Function Parameter

转载 作者:行者123 更新时间:2023-11-28 07:06:07 24 4
gpt4 key购买 nike

我有一个很大的 php 页面,上面有许多复杂的变量,我正在尝试创建在某些点播放视频的按钮。

我目前有

<script>
function generateJSON(){
var ARRAY = <?php echo json_encode($HCount) ?>;
var vid = document.getElementById('my_video');
vid.currentTime = parseInt(ARRAY[0].eventTime);
}
</script>
<button id="goToTime" onClick="javascript:generateJSON()">genJS</button>

其中 echo json_encode($HCount) 看起来像

[{"gameID":"212345564","eventTime":"2693","plID":"523dfs",
"evArray":{"5645":"Cuyta","11245230":"98.0","2229":"","3318":"","15":""}},
{"gameID":"212345564","eventTime":"2293","plID":"523dft",
"evArray":{"5645":"Pkyyt","11245230":"28.0","2229":"","3318":"","11":""}}]

这段代码可以工作,但是我希望generateJSON的争论是JSON本身。即

<script>
function generateJSON(ARRAY){
var vid = document.getElementById('my_video');
vid.currentTime = parseInt(ARRAY[0].eventTime);
}
</script>
<button id="goToTime" onClick="javascript:generateJSON(<?php echo json_encode($HCount) ?>)">genJS</button>

^^ 此代码适用于简单数组,例如

<?php
$timeArray = array();
$timeArray[] = 345.1;
$timeArray[] = 789.1;
$timeArray[] = 1002.1;
$timeArray[] = 1200.12;
?>

但不适用于我需要的多维情况,Chrome 上产生的错误是

Uncaught SyntaxError: Unexpected token ;

按钮后面但是没有 ;在行中。我尝试添加;到 php json_encode 没有太多运气。任何帮助将不胜感激。

谢谢!

最佳答案

问题是现在您正在将 JSON 打印到用引号括起来的元素属性。您需要对其进行转义才能正常工作,否则 JSON 中的引号会破坏该元素。试试这个:

<button id="goToTime" onClick="generateJSON(<?php echo htmlentities(json_encode($HCount)) ?>)">genJS</button>

关于javascript - PHP/JS : Multi-dim PHP array as Javascript Function Parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31702825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com