我有一个多维数组,想把它作为参数发送给JS函数。谷歌告诉我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"}]
答案 0 :(得分:0)
这是因为您从$tablica_artefakty
注入的字符串包含引号。这会导致HTML被错误地呈现 - 属性会被字符串中的引用过早地关闭。您应该转义$tablica_artefakty
中的引号,以便它们不会在错误的位置关闭HTLM属性。