gpt4 book ai didi

javascript - 在另一个 jade 文件中访问从 Jade 文件传递​​的变量

转载 作者:太空宇宙 更新时间:2023-11-04 03:25:28 27 4
gpt4 key购买 nike

我有一个与 mongodb 集成的 Nodejs 项目。在这里,我创建了一个 jade 文件,其中有从数据库中获取的学生列表。每个学生记录都有一个编辑按钮。因此,当用户单击编辑按钮时,它需要将用户重定向到另一个 jade(editstudent.jade) 文件,该文件将显示一个表单,用户可以在其中编辑该学生的记录。

为了实现此目的,我在 studentList.jade 文件中创建了下表。

studentList.jade

extends layout

block content
h1.
Student List

table
tr
th.
Name
th.
Age
th.
Contact
th.
Edit Student
th.
Delete Student
each student, i in studentlist
tr
td(id='studentname') #{student.name}
td #{student.age}
td
a(href="mailto:#{student.email}")=student.email
td
button(onclick='editstudent("#{student.name}")')= "Edit"
td
button(onclick='removestudent()')= "Remove"
script.
function editstudent(gh) {
alert("Edit "+gh+"'s Profile");
window.location.href = '/editstudent?gh=' + gh;
}

输出

output

当单击编辑按钮时,它会将名称作为参数传递,并最初弹出一个警报,如下所示。

弹出警报

popup

我想将此名称显示为我从 index.js 调用的 editstudent 页面的标题

index.js

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});

/* GET student welcome page. */
router.get('/studentIndex', function(req, res, next) {
res.render('studentIndex', { title: 'Student Portal' });
});

/*GET the studentList page */
router.get('/studentList', function(req, res) {
var db = req.db;
var collection = db.get('studentcollection');
collection.find({},{},function(e,docs){
res.render ('studentList', {
"studentlist" : docs});
});
});

/* GET the editStudent page */
router.get('/editstudent', function(req, res) {
res.render('editstudent', { title : gh});
});

module.exports = router;

但我目前收到错误提示

gh is not defined

gh not defined

editstudent.jade

extends layout

block content
h1 = title
p Welcome editor
button(onclick = 'backToList()')="Back"

script.
function backToList() {
window.location.href = '/studentList'
}

任何有关如何将此变量传递到重定向页面(editstudent.jade)的建议将不胜感激。

最佳答案

您应该从请求路径读取 gh,因为您在路径中发送它:/editstudent?gh=' + gh

router.get('/editstudent', function(req, res) {
let gh = req.query.gh;
res.render('editstudent', { title : gh});
});

关于javascript - 在另一个 jade 文件中访问从 Jade 文件传递​​的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45370446/

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