我刚刚开始使用node.js,我不太了解一些事情。所以请不要吝啬。我试图在没有太多结果的情况下搜索网页。
我希望一个网页继续等待帖子,然后呈现收到的数据。 到目前为止,我有以下app.js
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Base.Widget.AppCompat.Spinner.Underlined" parent="android:Widget.Material.Spinner.Underlined"/>
</resources>
在 var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing
application/x-www-form-urlencoded
app.set('view engine', 'pug');
app.get('/', function (req, res) {
res.render('index', {title: 'GET test',message : 'GET test'});
});
var data = "";
app.post("/",function(req, res) {
console.log(req.method);
console.log(req.headers);
console.log(req.url);
data=req.body
console.log(data);
res.render('index', {title: 'POST test',message : 'POST test'});
});
app.listen(8081, function () {
console.log('Example app listening on port 8081!');
});
我有
views/index.pug
每当我触发 html
head
title = title
body
h1 = message
时
我可以看到终端内收到的帖子,但我不能强调如何在页面中呈现这些数据。
答案 0 :(得分:0)
您需要在POST执行时发送数据响应,例如:
#pragma push_macro("size", "key", "name")
// define them all
#pragma pop_macro("size", "key", "name")
然后,在你的Javascript调用;你可以通过以下方式捕获POST响应并呈现你想要的内容:
res.status(201).send("POST executed successufully");
答案 1 :(得分:0)
看起来好像你没有将数据传递给res.render方法。
console.log(data);
res.render('index', {title: 'POST test',message : 'POST test', postData: data});
html
head
title = title
body
h1 = message
span = postData.field
^这是假设&#34;字段&#34;在帖子中存在,实际上你想以更加动态的方式做到这一点,并确保它存在。