我有一个多维数组,想将其作为参数发送给 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/