在这个应用程序,用户有一个表,他们可以输入数据。每行都有一个“编辑”按钮,当他们点击该按钮时,我想将它们带到一个名为“/ update”的新页面,在那里他们可以修改该行中的值。如何使用Node.js和Express在JavaScript中使用GET请求更改页面?
我现在拥有它,当它们单击更新按钮时,它将运行editRow
函数,传递表的id和行中的数据。但是,我无法弄清楚如何让路线正常工作。
我正在使用Node.js,Express,Handlebars,但没有 jQuery。
app.js(服务器端)
app.get('/update', function(req,res){
var context = {};
context.tableID = req.ID;
context.element = req.element;
res.render('update', context);
});
update.handlebars
<h1>test for now</h1>
main.handlebars
<!doctype html>
<html>
<head>
<title>Workout Tracker</title>
<link rel="stylesheet" href="css/style.css">
<script src="scripts/buttons.js" type="text/javascript"></script>
</head>
<body>
{{{body}}}
</body>
</html>
个buttons.js(客户端)
function editRow(tableID, element) {
var httpRequest;
httpRequest = new XMLHttpRequest();
if (!httpRequest) {
alert('Giving up :(Cannot create an XMLHTTP instance');
}
httpRequest.open('GET', 'http://localhost:3000/update');
httpRequest.send();
};
随着上述新的配置,我现在能够达到/update
代码,但render
似乎并没有被发生。服务器或客户端控制台中没有错误消息。
什么是您的应用程序所需的行为,什么是它的实际行为?你有任何错误输出? –
目前我只是想显示“现在测试”。如果我能得到那么多,我应该没事。使用上面的当前配置,当我点击启动editRow函数的按钮时,页面不会改变。我不擅长路由,所以我确定我的buttons.js文件有很多错误。 –