我是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>
答案 0 :(得分:0)
我知道res.send()发送数据但我不能在不改变客户端显示的情况下使用它。
你可以。您只需让客户以正确的方式询问数据。
如果客户端代码要求将URL显示为新页面,则您将更改显示。所以不要这样做。使用XMLHttpRequest
。
var xhttp = new XMLHttpRequest(); alert(xhttp.responseText); //Using alert to check if I received the info I wanted
你需要:
您已跳过第2,3和4步骤!
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "/home");
xhttp.addEventListener("load", function () { alert(this.responseText); });
xhttp.send();
答案 1 :(得分:-1)
res.render()函数可以胜任!
console.log("Loading function");
var AWS = require("aws-sdk");
exports.handler = function(event, context) {
var eventText = JSON.stringify(event, null, 2);
var decodeText = new Buffer(eventText, 'base64').toString('ascii');
console.log("Received event:", eventText);
var sns = new AWS.SNS();
var params = {
Message: decodeText,
Subject: "Test SNS From Lambda",
TopicArn: "arn:aws:sns:region:account:snsTopic"
};
sns.publish(params, context.done);
};