gpt4 book ai didi

javascript - 如何将 PHP 数组作为参数传递给 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-30 09:13:15 26 4
gpt4 key购买 nike

这只是一个示例,但是使用这段代码,它是有效的。但是如果我将 5 更改为 "5" 并将 10 更改为 "10" 我会得到一个 Unexpectid ending syntax error for the echo line

PHP

$array = array();
$array[0] = 10;
$array[1] = 5;
$json = json_encode($array);

echo "<td style=\"background: red;\"><button onclick=\"modifyModalContent('$day_date_column','$i',$json) ... (really long line)

JS

function modifyModalContent(date, id, array) {
var header = document.querySelector(".modal-header");
var body = document.querySelector(".modal-body");

var table =
`
<table class="table table-bordered table-hover">
<tr>
<td>${array[0]}<td>
<td>${array[1]}<td>
</tr>
</table>
`;

body.innerHTML = table;

header.innerHTML = `<h1> Date: ${date}</h1></br><h1>ID: ${autoid}</h1>`;
}

运行后的两条回显线:

有效:

<tr style="height: 137px;"><td style="background: red;"><button onclick="modifyModalContent('2019-01-21','1',[10,5])" ... (long line) 

如果我将它与字符串数组一起使用,则会出现以下错误:

<tr style="height: 137px;"><td style="background: red;"><button onclick="modifyModalContent(2019-01-21,1,["10","5"])" ... (long line) 

我怎样才能对这样的数组做同样的事情:

$array = array();
$array[0] = "10";
$array[1] = "5";

我想问题是因为 "字符,但我该如何解决呢?

最佳答案

我建议使用 PHP 函数 htmlspecialchars——它不仅可以处理引号问题,还可以处理任何其他字符(&、<、>},这些字符应该转换为 HTML 实体在用作 HTML 属性值之前。

$json = htmlspecialchars(json_encode($array));

关于javascript - 如何将 PHP 数组作为参数传递给 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57039830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com