res.render不渲染视图,返回html文本

时间:2013-03-15 21:33:39

标签: node.js jquery express

因此调用express / node:

jQuery.ajax({
            url : url,
            type: "GET",
            data: {names : names},
            success: function(data) {
                console.log("ajax post success");
            },
            error: function(jqXHR) {
                console.log(jqXHR.responseText + ' :: ' + jqXHR.statusText);
            }
        });

在express router.js中:

app.get('/metrics/:title/:node/:metric', function(req,res) {
    console.log("received request " );
console.log(req.query.names);
    res.render('nltuning', {
        locals: {
            tdata : req.params.title,
            gdata : req.params.node,
            mdata : req.params.metric,
            ndata : req.query.names
        }
    } );
});

所有控制台信息都正确打印,ajax成功打印。 ajax显示回复的html文本。

并且未呈现视图。对于POST,GET也一样 - 为什么呢?

如果我在浏览器窗口中输入相同的URL,则会呈现视图。任何指点赞赏。

1 个答案:

答案 0 :(得分:3)

如果要在ajax调用后显示新内容,是否应该有任何代码说明脚本? 例如:

success: function(data){
        $('someElement').html(data);
    }