Javascript 将带有json_编码的php数组传递给js处理程序时出错

Javascript 将带有json_编码的php数组传递给js处理程序时出错,javascript,php,arrays,Javascript,Php,Arrays,我声明php数组,用从查询中提取的字符串填充它们。 我必须将这个数组传递给页面中某个元素的处理程序。 处理程序无法读取此数组 PHP: 浏览器错误:Uncaught语法错误:意外标记} 打开浏览器调试器: (函数(事件){changePhoto(2,[})这里的引号会有问题。您的JSON中也会有一些“在其中,并且您的html属性包含在中”。 所以改变 onClick="changePhoto(<?php echo $i.','.$jsNames.','.$jsInfo.','.$jsPat

我声明php数组,用从查询中提取的字符串填充它们。 我必须将这个数组传递给页面中某个元素的处理程序。 处理程序无法读取此数组

PHP:

浏览器错误:
Uncaught语法错误:意外标记}

打开浏览器调试器:
(函数(事件){changePhoto(2,[})

这里的引号会有问题。您的JSON中也会有一些“在其中,并且您的html属性包含在中”。 所以改变

onClick="changePhoto(<?php echo $i.','.$jsNames.','.$jsInfo.','.$jsPaths ?>)"
onClick=“changePhoto()”

onClick='changePhoto()'
//注意这里的单引号!
旁注:

你应该把这些行
$jsNames=json_encode($names);
放在循环之外,因为它们不会再改变了。但是现在你做了好几次同样的工作。

你在这里会遇到引号问题。你的json中会有一些“在里面,你的html属性也在里面”。 所以改变

onClick="changePhoto(<?php echo $i.','.$jsNames.','.$jsInfo.','.$jsPaths ?>)"
onClick=“changePhoto()”

onClick='changePhoto()'
//注意这里的单引号!
旁注:

你应该把这些行
$jsNames=json_encode($names);
放在循环之外,因为它们不会再改变了。但是现在你做了好几次同样的工作。

什么返回注释
echo
es?你能清楚地更新总代码吗?我打赌你在这里有引号的问题。你的json将有
在它里面。所以试着把
onClick=“…”
改为
onClick=”…“
最后一个}应该是
(函数(事件){.changePhoto(2,[})
但是你为什么要包括所有的值呢?你真的需要吗?或者你可以让它
echo$i.”、“$names[$i]”、“$infos[$i]”、“$infos[$i]”、“$path[$i]
What return commented
echo
es?你能清楚地更新总代码吗?我打赌你在这里的引号有问题。你的JSON中会有
”。所以试着将
onClick=“…”
改为
onClick='.
最后一个}应该是
(函数(事件){changePhoto(2,[})中的一个]
但是为什么要包含所有的值呢?你真的需要吗?或者你可以让它
echo$i.“,”,“$names[$i]。”,“,”,“$infos[$i]。”,“,”,“$path[$i]。
onClick="changePhoto(<?php echo $i.','.$jsNames.','.$jsInfo.','.$jsPaths ?>)"
onClick='changePhoto(<?php echo $i.','.$jsNames.','.$jsInfo.','.$jsPaths ?>)'
// note the single-quotes here!