javascript - 将 PHP 数组发送到回显字符串中调用的 JS 函数

标签 javascript php arrays multidimensional-array

我有一个多维数组,想将其作为参数发送给 JS 函数。 Google 告诉我,json_encode() 是可行的方法,但当我尝试调用该函数时,出现未终止的字符串文字错误。

这是我的代码:

$wynik_artefakty = $polaczenie->query("SELECT * FROM artefakty"); 
$tablica_artefakty = mysqli_fetch_all($wynik_artefakty,MYSQLI_ASSOC);
$tablica_artefakty = json_encode($tablica_artefakty);

 echo "<div class='wpis' 
       onclick=\"dodajDiv('$tablica_artefakty')\">" 
      .$tablica_jednostek[$i]['nazwa']." ".$tablica_jednostek[$i]['koszt']."</div>";

以及 json_encode() 之后数组的示例回显:

[{"Id":"2","nazwa":"Sceptre of Atrocities","personal":"The 
Gorgon","dla_maga":"0","koszt":"15"},{"Id":"3","nazwa":"Artefakt dla 
maga","personal":"","dla_maga":"1","koszt":"10"}] 

最佳答案

这是因为您从 $tablica_artefakty 注入(inject)的字符串包含引号。这会导致您的 HTML 渲染不正确 - 属性被字符串中的引号过早关闭。您应该转义 $tablica_artefakty 中的引号,这样它们就不会在错误的位置关闭 HTLM 属性。

关于javascript - 将 PHP 数组发送到回显字符串中调用的 JS 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48345260/

相关文章:

c - 递归地打印结构数组中的数据

java - 如何在运行时创建对象?

C++ 在 0(n+m) 复杂度中搜索多个不同长度数组的交集

javascript - 有没有办法在不知道类名或 ID 的情况下选择父 div?

javascript - 多个空白变量声明有什么区别

php - JQgrid如何根据服务器数据更改行的背景颜色?

javascript - 循环显示时如何将onclick事件应用于html标签

php - 爬虫从url添加参数到链接

javascript - Angular ui-select array of objects - 第一项不可选择

javascript - 如果已单击父级,jQuery 显示子菜单