node / express - 如何将用户输入呈现给页面?

时间:2016-06-28 22:40:48

标签: javascript html node.js express

我正在尝试使用node / express呈现一些文本。 我有一个包含表单的html文件。

search.ejs

$(document).ready(function(){
    var userInput;
    $("#submit-button-id").click(function(){
        userInput = $1_11_1("#userInput").val();
        $.get("http://localhost:3000/searching", {
            userInput: userInput
        }, function(){});
    });
});

app.js

app.get('/searching', function(req, res){
    var userInput = req.query.userInput;

    /** I am able to get the userInput (the code above works) */

    res.send(userInput);

    /** I want to render the userInput (for instance, on localhost:3000/results) */
});

非常感谢任何帮助/链接,谢谢!

3 个答案:

答案 0 :(得分:1)

在app.js中,您将userInput信息发送回search.ejs。这是位置:

$(document).ready(function(){
    var userInput;
    $("#submit-button-id").click(function(){
        userInput = $1_11_1("#userInput").val();
        $.get("http://localhost:3000/searching", {
            userInput: userInput
        }, function(){***User data can be used here***});
    });
});

因此,以下代码可以将您的原始数据渲染到名为render-div的html页面上的div中:

$(document).ready(function(){
    var userInput;
    $("#submit-button-id").click(function(){
        userInput = $1_11_1("#userInput").val();
        $.get("http://localhost:3000/searching", {
            userInput: userInput
        }, function(userInputData){
            $('.render-div).append(userInputData);

        });
    });
});`

答案 1 :(得分:0)

根据documentation你的回复作为参数,所以你应该尝试这样的事情:

$.get("http://localhost:3000/searching", {userInput: userInput},
    function(response){
      alert(response);
 });

答案 2 :(得分:0)

如果你正在使用EJS,你可以这样做:

首先,在您的results.ejs文件中

<div id="displayResult"><h2><%= result %></h2></div>

然后,在你的app.js

app.get('/searching', function(req, res){
var userInput = req.query.userInput;
res.render('results.ejs',{result:userInput});
});