![](/img/trans.png)
[英]How to detect JavaScript from html in NodeJs and stop JS rendering
[英]How to stop word 'Array' from rendering in table HTML?
如何阻止作品“Array”成为 output 的一部分? 它出现在标题和数据行之间,我无法摆脱它。 是不是我的HTML动态表格渲染错了?? 我会嵌入图片,但我还不允许这样做
UserID First Name Last Name E-mail Phone Action
`Array`
9 Lenny Kravits ld@mail.com (234) 231-9999
8 Sally Simpson ss@gmail.com (425) 455-5678
7 Chad Merit chad@mail.com 4251119988
6 Janet Miller janlmill@yahoo.com 4251119988
5 Tom Smith ts@mail.com (425) 826-3344
4 James Miller jimomak@leader.com (425) 471-8101
3 Ron Weasly ron@gmail.com (111) 222-3344
2 Harry Potter harry@gmail.com (789) 654-135
1 Sahil Kumar sahil4rock@gmail.com (078) 965-1235
这是 getusers.php 文件,Javasript 将其称为 async/await/fetch。
<?php include_once 'init.php';
error_reporting(1);
$stmt = $pdo->prepare("CALL getUsers()");
$stmt->execute();
do {
$data = $stmt->fetchAll();
} while ($stmt->nextRowset() && $stmt->columnCount());
foreach ($data as $row) {
$data .= '
<tr>
<td>' . $row['userId'] . '</td>
<td>' . $row['fName'] . '</td>
<td>' . $row['lName'] . '</td>
<td>' . $row['email'] . '</td>
<td>' . $row['phone'] . '</td>
<td>
<a href="#" id="' . $row['userId'] . '" class="btn btn-success btn-sm
rounded-pill py-0 editLink" data-bs-toggle="modal" data-bs-
target="#editUserModal">Edit</a>
<a href="#" id="' . $row['userId'] . '" class="btn btn-danger btn-sm
rounded-pill py-0 deleteLink">Delete</a>
</td>
</tr>
';
}
echo $data;
?>
这是在同一页面中嵌入了 Javascript 的 user.php 文件(暂时)。 这是第一次使用 fetch api,带有 async/await。 一切都呈现出来,但“数组”一词作为“响应”的一部分出现……我以前从未遇到过这个问题? 为清楚起见,我称为 mysql 存储过程,非常简单 select * 查询...它工作正常并且数据呈现。使用 'document.querySelector("table")...也许我必须动态呈现整个表。 ..这还行不通。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-icons.css" rel="stylesheet">
<link href="css/fullcalendar.min.css" rel="stylesheet">
<title>Comments</title>
</head>
<body>
<div class="container">
<div class="row mt-4">
<div class="col-lg-12 d-flex justify-content-between align-items-center">
<div>
<h4 class="text-primary">All users in the database!</h4>
</div>
<div>
<button class="btn btn-primary" type="button" data-bs-toggle="modal" data-bs-
target="#addNewUserModal">Add New User</button>
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-lg-12">
<div id="showAlert"></div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="table-responsive">
<table class="table table-striped table-bordered text-center">
<thead>
<tr>
<th>UserID</th>
<th>First Name</th>
<th>Last Name</th>
<th>E-mail</th>
<th>Phone</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<!--Filled by AJAX-->
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
const tbody = document.querySelector("tbody");
// Fetch All Users Ajax Request
const fetchAllUsers = async () => {
const data = await fetch("includes/getusers.php", {
method: "GET",
});
const response = await data.text();
tbody.innerHTML = response;
console.log(response);
};
fetchAllUsers();
</script>
<script src="js/bootstrap.bundle.min.js"></script>
</body>
</html>
首先,您获取所有用户:
$data = $stmt->fetchAll();
然后,你 append 你的行给它:
$数据。=
只需为您的 output 创建一个新变量,您就可以使用 go。
您重复使用了一个将HTML
与Array object
连接起来的变量
要解决此问题,只需将HTML
变量重命名为如下所示:
<?php include_once 'init.php';
error_reporting(1);
$stmt = $pdo->prepare("CALL getUsers()");
$stmt->execute();
do {
$data = $stmt->fetchAll();
} while ($stmt->nextRowset() && $stmt->columnCount());
foreach ($data as $row) {
$htmlData = '
<tr>
<td>' . $row['userId'] . '</td>
<td>' . $row['fName'] . '</td>
<td>' . $row['lName'] . '</td>
<td>' . $row['email'] . '</td>
<td>' . $row['phone'] . '</td>
<td>
<a href="#" id="' . $row['userId'] . '" class="btn btn-success btn-sm
rounded-pill py-0 editLink" data-bs-toggle="modal" data-bs-
target="#editUserModal">Edit</a>
<a href="#" id="' . $row['userId'] . '" class="btn btn-danger btn-sm
rounded-pill py-0 deleteLink">Delete</a>
</td>
</tr>
';
}
echo $htmlData;
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.