使用文件发送var,在脚本中访问它&显示隐藏的div

时间:2017-04-15 00:35:03

标签: javascript jquery node.js

目前, 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();
    }
}

我没有使用任何视图模板。

请提出建议,如果有其他方法可以这样做。

1 个答案:

答案 0 :(得分:0)

您需要在AJAX请求中发送表单数据。现在看起来客户端根本没有收到您的回复,因为您在发布表单数据后刷新了页面。

由于您使用的是jQuery,我建议您阅读:https://api.jquery.com/jquery.post/

基本上,您使用带有URL的函数$.post将表单数据发送到,并使用回调将div显示为输入。

示例:

$.post("/your/api/endpoint", function(response) {
    $("#newPollDiv").hide();
    //...
});