Node.js res.render不呈现视图,返回html文本

Node.js res.render不呈现视图,返回html文本,node.js,jquery,express,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(jqX

调用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
        }
    } );
});
所有控制台MSG都正确打印,ajax成功正在打印。ajax显示html文本作为响应

并且不会渲染视图。POST和GET也一样,为什么


如果在浏览器窗口中键入相同的url,则会呈现视图。任何指针都值得欣赏。

如果您想在ajax调用后显示新内容,是否应该有任何代码说明脚本可以这样做? 例如:

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

我看到这一行丢失了:success:function(data){console.log(“ajaxpost-success”);jQuery('body').html(data);},是的,发布后才实现。但我有一个后续问题。如何在新选项卡中显示新视图?这似乎不起作用:jQuery('body')。target='u blank';我以前没有处理过这个问题,但这可能会有所帮助:window.open('url to open','window name','attribute1,attribute2')打开一个新选项卡,将“name”放入属性中,这不是真正的ajax,但至少我认为它可以工作