如何从PHP端传递JavaScript函数中的数组字符串作为参数?
我在Firebug控制台中获得参数后的错误列表 我的问题是如何在JavaScript函数中将$char_数据变量作为参数传递 定义php变量:如何从PHP端传递JavaScript函数中的数组字符串作为参数?,php,javascript,charts,arguments,Php,Javascript,Charts,Arguments,我在Firebug控制台中获得参数后的错误列表 我的问题是如何在JavaScript函数中将$char_数据变量作为参数传递 定义php变量: <?php $chart_data = "['NBA',1],['NFL',2],['MLB',3],['NHL',4]"; $div = "graph"; ? 更改此选项: dynamicChartArray('<?php echo $div;?>','<?php echo $chartdata;?>') dyn
<?php
$chart_data = "['NBA',1],['NFL',2],['MLB',3],['NHL',4]";
$div = "graph";
?
更改此选项:
dynamicChartArray('<?php echo $div;?>','<?php echo $chartdata;?>')
dynamicChartArray(“”,“”)
为此:
dynamicChartArray('<?php echo $div;?>', [<?php echo $chart_data;?>]);
dynamicChartArray(“”,[]);
然后看看它是否有效而不是
$chart_data = "['NBA',1],['NFL',2],['MLB',3],['NHL',4]";
使用
将您的呼叫更改为:
dynamicChartArray('<?php echo $div;?>',[<?php echo $chartdata;?>])
这将只生成一个数组,包含一个元素,字符串“['NBA',1],'NFL',2],'MLB',3],'NHL',4]”
尝试执行dynamicChartArray(“”,[])
这将使chartdata
成为数组的数组。您不需要var myData=new数组(chartdata)代码>
chartdata
已经是一个数组了。与其用javascript中的字符串创建一个数组,为什么不让PHP将其作为数组输出呢
只需添加一组额外的[],javascript将其读取为数组
$chart_data = "[['NBA',1],['NFL',2],['MLB',3],['NHL',4]]";
然后删除输出上的引号(导致错误消息的引号)
看一看
这将生成一个json字符串,随时可以回显到脚本中
string(21) "[["NBA",1],["NFL",2]]"
您应该看看输出。我敢打赌:
dynamicChartArray('graph','['NBA',1],['NFL',2],['MLB',3],['NHL',4]')
您已经可以看到,您在引用方面存在问题
我建议不要创建字符串,而是创建一个数组并使用json\u encode
:
$chart_data = array(
array('NBA',1),
array('NFL',2),
array('MLB',3),
array('NHL',4)
);
及
dynamicChartArray(“”,)
JSON恰好也是有效的JavaScript,它为您提供了更多在服务器端处理数据的可能性。如何将我的char\u数据更改为这样实际上,此chart\u数据包含动态值创建字符串values@Samad,只需将图表数据传递到需要发送的位置。@Samad,简单的传递chartdata
它需要发送到哪里。查看我用screeshoti进行的更新我在Firebug控制台中的参数列表后尝试了所有东西(但错误丢失)。代码在我的控制台中工作正常吗?您是否能够将PHP输出(并导致错误)的javascript代码添加到您的帖子中?可能只是因为您的一个值有问题,例如,如果引号中的一个值是“O'Neil”,则需要进行转义,以阻止它破坏javascript.Thanx与我共享您的经验
'<?php echo $chartdata;?>'
new Array(chartdata)
$chart_data = "[['NBA',1],['NFL',2],['MLB',3],['NHL',4]]";
dynamicChartArray('<?php echo $div;?>', <?php echo $chartdata;?>);
var myData = chartdata;
$chart_data = json_encode(array(array('NBA',1),array('NFL',2)));
string(21) "[["NBA",1],["NFL",2]]"
dynamicChartArray('graph','['NBA',1],['NFL',2],['MLB',3],['NHL',4]')
$chart_data = array(
array('NBA',1),
array('NFL',2),
array('MLB',3),
array('NHL',4)
);
dynamicChartArray('<?php echo $div;?>', <?php echo json_encode($chartdata); ?>)