我如何在javascript函数中传递条件短语值

how can i pass the the conditional phrase value in javascript function

本文关键字:条件 短语 函数 javascript      更新时间:2023-09-26

如何在java脚本函数中传递值。如果我有像下面这样的值

我有一些php值像这样

<?php $dataset = "{"label":"Server","value" : "40"},{"label":"Hypervisor","value" : "40"},{"label":"AD","value" : "40"},{"label":"vCenter - permissions","value" : "40"},{"label":"vCenter - maintenance","value" : "40"},{"label":"Resource Pool/datastore migration","value" : "40"},{"label":"vm - reboot","value" : "40"},{"label":"test1","value" : "40"},{"label":"VM","value" : "40"},{"label":"test3","value" : "40"},{"label":"Host modification","value" : "40"},{"label":"Host test","value" : "40"},{"label":"vCenter - Resource Pool (RP) modification","value" : "40"},{"label":"test 2","value" : "40"},{"label":"test 3","value" : "40"}"; ?>

我试图通过这个值在javascript函数,但我得到错误?如何解决这个问题?

function somthing(<?php echo $dataset  ?>){
}

Uncaught SyntaxError: Unexpected token,

首先你的数据定义是错误的,因为在javascript中有多个对象,它需要在[{},{},...]中包装以使该有效的javascript。

我决定它会更容易,可能更灵活的加载数据集数据到一个单独的javascript变量。我还分别回显了每一行,因为我认为这样更容易阅读/debug

然后从那里很容易,我缩短了dataset,使它更容易阅读答案,而不消除任何复杂性(至少我相信)

$dataset = '[{"label":"Server","value" : "40"},{"label":"Hypervisor","value" : "40"}]';
echo '<script type="text/javascript">';
echo "var dataset = $dataset;";
echo 'function somthing(dataset){';
echo '}';
echo '</script>';

我想假设您正在使用json_encode($someArray)创建$dataset,但在这种情况下,它不会是错误的。

我可以建议你看看手册页的json_encode()和json_decode()