目前, home.html页面中有一个表单,可以让我们提交数据。保存数据后,显示相同的.html页面但不同的div(消息如 - Congrts,您的民意调查已创建....)。 为此,我发送一个布尔var dataSaved,同时发送文件,以便我可以检索布尔var&显示div。
我正在提交这样的表格 -
<form class="" action="/home/newPoll" method="post">
<form>
我的 server.js 看起来像这样 -
app.post('/home/newPoll', function (req, res) {
const newPoll = new PollModel({
............//something here
});
PollModel(newPoll).save(function(error, data){
if (error) {
throw error;
console.error("User Data is not saved."+error);
} else {
console.log("User data saved successfully");// working fine
res.sendFile(__dirname+'/views/home.html', {dataSaved: true}); // this page is displayed also
}
});
});
如果此var dataSaved为true,我想显示div。
$(document).ready(function(){
............// some more code here, are working fine.
const dataSaved = <%= dataSaved %>;
console.log(dataSaved); // not getting this
if (dataSaved ) {
$("#newPollDiv").hide();
$("#myPollDiv").hide();
$("#pollCreated").show();
}
}
我没有使用任何视图模板。
请提出建议,如果有其他方法可以这样做。
答案 0 :(得分:0)
您需要在AJAX请求中发送表单数据。现在看起来客户端根本没有收到您的回复,因为您在发布表单数据后刷新了页面。
由于您使用的是jQuery,我建议您阅读:https://api.jquery.com/jquery.post/
基本上,您使用带有URL的函数$.post
将表单数据发送到,并使用回调将div显示为输入。
示例:
$.post("/your/api/endpoint", function(response) {
$("#newPollDiv").hide();
//...
});