例如,我必须更新一个表,如果有一些值是一个列表。我可以插入新值并尝试重新加载整个页面以再次显示表格或列表值。
如果我尝试 Ajax 更新,我必须操作 DOM,创建一堆新标签,连接并在旧标签上注入新 HTML。这不是一种痛苦的方式,您甚至必须重新输入之前创建的代码才能显示新条目。
例如:这是一个虚构的例子,说明了我的意思:
$.ajax({
url: '/post/addComment/',
type: 'POST',
data: 'comment=' + comment,
beforeSend : function() {
//waiting message
$('#some_information_div').html('<strong>Updating...</strong>');
}
}).done(function(data) {
//new data comes here (by JSON, plain text, whatever...)
if (data.status == 'OK') {
//OHHH MAN WE HAVE TO POPULATE MANUALLY IT AGAIN
var c = '';
c = '<table>'
data.content.forEach(function(e) {
c += '<tr><td>' + e.name + '</td></tr>';
});
c += '</table>'
//update with new values
$('#some_information_div').html('');
$('#destination_table').html(c);
}
});
不幸的是,我必须一直处理我的列表和表格,并且不知何故我必须重新键入代码并通过 javascript 操作它们。我想出一些可能有用的东西,比如jQuery.load(),也许它可以满足我的需求,我还没有尝试过。
其他一些语言和框架(如 JSF)可以通过“渲染技术”轻松完成,您可以直接更新内容,而无需手动创建和操作 DOM。
请,任何形式的建议,这种方法的任何线索都会非常有帮助。
PS:代码示例标签在这里不能很好地工作。