-1
当我从API的Ajax响应,我得到一个硬JSON结构:从json/js对象构建html的最佳实践?
{
object: {
key: value,
key: value,
....
key(array_of_objects): {
key: value,
key: value,
}, {
key: value,
key: value,
}, {
key: value,
key: value,
}
}
}
现在我做:
function render(json) {
var data = $.parseJSON(json);
var html = "";
html += "<h1>Hello"+data.key+"</h1>";
html += "<h2>Your data:</h2>";
html += "<ul>";
var data_array= "";
$.each(data.array_of_objects, function(index, val) {
data_array += "<li>" + val.key + "</li>";
});
html += data_array+"<ul>"
return html;
}
$.ajax({
type: "POST",
url: apiUrl,
data: request,
success: function(obj, xr, res) {
$(".content").append(render(obj));
}
})
我知道,我用坏的解决方案,因为我的代码很纠结并且难以扩展。
而我想分开js逻辑和html视图。
这种情况的最佳实践解决方案是什么?
最佳实践的解决方案是使用的模板引擎之一。例如http://handlebarsjs.com/或http://underscorejs.org/。这使您可以将您从js代码中分离出来。 –
如果您在应用程序中多次执行此操作,我会说继续使用胡子或把手。您的html始终会与您的API响应数据耦合,但这种方式可以保证模板的可维护性和可重用性。 – prodigitalson