gpt4 book ai didi

javascript - 将 php 电子邮件地址数组传递给 javascript

转载 作者:行者123 更新时间:2023-11-28 20:06:29 27 4
gpt4 key购买 nike

我有一个包含需要传递给 javascript 函数的电子邮件地址的 php 数组,但是当 javascript 尝试处理这些地址时,我收到一个语法错误:与电子邮件地址中的“@”相关的非法字符错误...

我该如何解决这个问题?有没有办法在将电子邮件地址传递给 JavaScript 之前将其转换为字符串?或者我是否需要在数组传递给 js 后对其进行迭代,并在 js 中创建一个新数组并将它们转换为字符串?

好的,所以数组是通过用户使用复选框从列表中选择电子邮件地址来创建的,然后将其发布到第二页。

这是在第一页上创建数组的 php 代码:

while ($row = mysqli_fetch_array($students_results)) {
echo'<div class="form-group"><div class="checkbox"><label><input type="checkbox" name="parentsemails[]" value=' . $row['parent_email'] . '">' . $row['parent_name'] . ' (Student: '. $row['student_name'] . ')</label></div></div>';
}

然后将其发布到第二个页面以传递给 js 函数。将数组分配给 php 变量的 php 是:

if (isset($_POST["parentsemails"])) {
$pe = $_POST['parentsemails'];
}

函数内的JS代码:

email_a = new array(<?php echo implode(',', $pe); ?>);

电子邮件地址似乎已正确传递给 JS,在错误日志中我可以看到各个电子邮件,但突出显示了非法字符...

感谢任何帮助。

谢谢。

最佳答案

您没有将电子邮件括在引号中,这会导致出现语法错误。

您可以手动添加引号,但可以使用 json_encode函数代替。

json_encode以 JSON 形式对 PHP 对象或数组进行编码。由于 JSON 数组是有效的 JavaScript 数组,因此这在您的情况下效果很好。

只需将 JS 行更改为:

email_a = <?php echo json_encode($pe); ?>;

关于javascript - 将 php 电子邮件地址数组传递给 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20722383/

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