res.render not rendering view, returns html text

Calling into express/node thus:

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);
            }
        });

In 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
        }
    } );
});

All console msgs are printing correctly, ajax success is printing. ajax shows html text in response.

and the view is not rendered. Same for POST, GET - why is it ?

if i type in the same url in a browser window, the view is rendered. any pointers appreciated.

if you want to show the new content after the ajax call, shouldn't there be any code which says the script to do so? For example:

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