【发布时间】:2018-05-14 01:18:00
【问题描述】:
我是 Web 开发的新手,不知道如何在提供 HTML 页面的同时将数据从 Node 服务器发送到客户端。我知道 res.send() 发送数据,但如果不更改客户端显示,我就无法使用它。这是我正在尝试做的一些代码(但不起作用)
服务器:
app.get('/home', function (req, res) {
res.send("String with info I want in HTML");
res.sendFile(__dirname + '/home.html');
});
客户:
<script>
var xhttp = new XMLHttpRequest();
alert(xhttp.responseText); //Using alert to check if I received the info I wanted
</script>
【问题讨论】:
-
如果您使用车把视图引擎,您可以在
res.render('home', {myText:'your string here'})在模板中添加一个占位符时执行此操作 {{myText}} -
首先,您需要从客户端发送正确的 Ajax 请求。您显示的代码只是 ajax 请求的一小部分。网络上有数以千计的地方,您可以在其中阅读如何从浏览器 Javascript 进行 ajax 调用。然后,您只需在服务器中为您的 ajax 调用请求的 URL 创建一个路由并发送一个响应(而不是您显示的两个)。该响应将返回给 ajax 调用者,他们将在他们的 Javascript 中接收它,并可以决定如何处理它。就是这样。没有客户端显示更改。 Ajax 调用不会自行更改显示。
标签: javascript html node.js express web-development-server