我搜索了很多,但找不到我的情况的答案。
这是我的服务器端代码。
router.get("/user/detail/:id", function (req, res) {
var id = req.params.id;
http.get({
host: server.host,
port: server.port,
path: '/db/user/' + id
}, function (response) {
var user = '';
response.on('data', function (data) {
user += data;
});
response.on('end', function () {
var parsed = JSON.parse(user);
console.log(parsed);
res.render("pages/demo", {user : req.session.user, userProfile : parsed});
});
response.on('error', function (err) {
console.log("in response error")
console.log(err);
throw err;
});
});
});
我使用EJS作为模板
<tbody>
<% for (var i = 0; i < userList.length; i++) { %>
<tr>
<td><%=userList[i].id%></td>
<td><%=userList[i].name%></td>
<td><%=userList[i].email%></td>
<td><%=userList[i].type%></td>
<td><button class="btn btn-primary btn-sm btnDetail" tag="<%=userList[i].id%>">Detail</button></td>
</tr>
<% } %>
</tbody>
用于收听点击事件的HTML脚本代码
$(".btnDetail").on("click", function() {
var userId = $(this).attr("tag");
console.log(userId);
var url = "/admin/user/detail/" + userId;
console.log(url);
window.location.href = url;
});
我可以在演示页面中获取数据并显示。
但是,控制台显示服务器端以某种方式再次运行GET请求(不确定),并获取一些未定义的数据。
无法弄清楚,有人可以帮助我吗?
谢谢!