Before your edit, the table "update" trigger was done properly, but now it is not included in the code above. Try this:
$(document).ready(function()
{
var $table = $("#tagsTable").tablesorter({sortList: [[0,0],[1,0]]}),
$tbody = $table.children("tbody");
$.ajax({
type: "GET",
url: "http://localhost:8001/tags?uid=123",
success: function(data)
{
$.each(data, function(key, value)
{
$.each(value, function(index, arVal)
{
$tbody.append(
"<tr>" +
"<td>" + arVal['tagname'] + "</td>" +
"<td>" + arVal['tagdesc'] + "</td>" +
"<td>" + arVal['wtime'] + "</td>" +
"</tr>"
);
});
});
var resort = true,
callback = function(){ console.log('table updated'); };
$table.trigger("update", [ resort, callback ]);
},
error: function(xhr, status, error) {
console.log('error status = ' + status);
if(xhr.status==404)
{
}
}
});
});