gpt4 book ai didi

javascript - 使用 json_encode 将 php 变量转为 javascript

转载 作者:行者123 更新时间:2023-12-02 15:34:15 25 4
gpt4 key购买 nike

我知道这个话题已经讨论过几次了,但我似乎找不到我做错了什么。

我正在尝试做的事情:用户输入一个数字,然后单击按钮创建一个包含该列数的表格。

这是 php:

<?php
$twig = require_once('bootstrap.php');
$hostname = 'localhost';
$username = 'root';
$password = '';
$conn = new PDO("mysql:host=$hostname;dbname=mydb", $username, $password);

echo $twig->render('index.html', array());

$numOfRows = 1;

if(isset($_POST['button'])){
$numOfRows = $_POST['num_input'];
}

html/javascript:

<html>
<head>
<script>
function insertRows(){
var numOfRows = <?php echo json_encode($numOfRows) ?>;
var out = "<table><tr><th>test</th>";

for (i = 0; i < numOfRows; i++){
out += "<th>test</th>";
}

out += "</tr></table>";
document.getElementById("table").innerHTML = out;
}
</script>
</head>

<body>
<form action="index.php" method="post">
<textarea id="num_input" name ="num_input"></textarea>
<button type="button" name="button" onclick="insertRows()"> Go </button>
</form>

<p id="table"></p>

</body>
</html>

没有错误或任何错误,因为我没有使用 IDE,只是在 vim 中执行此操作,但错误是这并没有发生。如果我将 for 循环中的“numOfRows”更改为它可以工作的数字,所以我很确定 json_encode 是问题所在。

谢谢!

编辑:为了测试它,我在 php 文件中使用了字符串变量 $str = "test";,并且没有使用 for 循环,而是将 javascript 编辑为

var str = <?php echo json_encode($str); ?>;
alert(str);

我也尝试过

var str = <?php echo $str; ?>;
alert(str);

但没有任何作用。

最佳答案

在这种情况下,不需要

json_encode

简单地替换

var numOfRows = <?php echo json_encode($numOfRows); ?>;

var numOfRows = <?php echo (int)$numOfRows; ?>;

关于javascript - 使用 json_encode 将 php 变量转为 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33084748/

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