如何使用节点js服务器在ejs或jade中发送和使用数据?

时间:2017-02-08 13:27:40

标签: javascript jquery ajax node.js express

我使用ajax从ajax向node js服务器发送localstorage数据,以便使用该数据用ejs或jade来装饰html页面。我试图通过app.post获取后将数据发送到ejs或jade。它编译,但我在ejs文件中找不到电影变量。

app.post('/notes' , function (req , res) {
   var name = req.body;
   res.render('/bucket',{movies:name});
});

在我这样写的客户端,它在这里找不到电影变量:

function postData() {
        var clicked;
        if (localStorage.getItem("liked") === null)
            clicked = [];
        else
            clicked = localStorage.getItem("liked");

        $.ajax({
            type: 'POST',
            url: 'http://localhost:3000/notes',
            contentType: 'application/json',
            dataType: 'json',
            data : clicked,
            success: function (msg) {

            }
        });
    }
postData();
alert ("<%=movies%>");

有办法吗?

2 个答案:

答案 0 :(得分:0)

而不是在postData();之后放置alert(msg.movies); - 尝试将closestN放在现在为空的成功处理程序中,这是您可以使用AJAX的唯一位置(在您的示例中)响应。

答案 1 :(得分:0)

bucket.jade模板中,尝试在postData()功能后添加以下行。

  script.
    alert("#{movies}")

我在这里尝试了一个例子,它运作得很好。

希望这有帮助!