我的用户界面使用REST API并获取数据为json。我将这些数据添加到HTML中,但是我的脚本文件非常大,可读性较差。在Jquery中添加大块HTML
所以我正在寻找一种将json数据导入到HTML的新方法。有没有办法用jQuery来做到这一点?
我听说过某事。与AngularJS,但我没有时间去学习另一个FW或图书馆。如果可能的话,我想用jQuery来做。
function publish_survey() {
$.ajax({
url : URL_API + URL_POLL,
type : 'get',
data : {'user_id' : user_id},
dataType: 'json',
success : function (response) {
console.log(response);
var html = '';
for (var i = 0; i < response.data.length; i++) {
var date = new Date(response.data[i].created_at);
var formatted_date = date.getDay() + ' ' + G_MONTHS[date.getMonth()] + ', ' + date.getFullYear();
html += '<div class="col-lg-2 col-md-3 col-sm-4 col-xs-6">' +
'<div class="mt-card-item" onclick="">' +
'<div class="mt-card-avatar mt-overlay-1">' +
'<img src="' + PATH_LAYOUT_IMAGES + '/poll_bg.png" />' +
'<div class="mt-overlay">' +
'<ul class="mt-info">' +
'<li>' +
'<a class="btn default btn-outline" href="javascript:void(0);" onclick="previewPoll(\''+response.data[i].id+'\');">' +
'<i class="fa fa-eye"></i>' +
'</a>' +
'</li>' +
'</ul>' +
'</div>' +
'</div>' +
'<div class="mt-card-content">' +
'<h3 class="mt-card-name">' + response.data[i].title + '</h3>' +
'<p style="font-size:10px;">' + formatted_date + '</p>' +
'<div class="mt-card-social">' +
'<button class="btn blue-hoki btn-block" onclick="selectPoll(this, \''+response.data[i].id+'\');">'+LANG.option.select+'</button>' +
'</div>' +
'</div>' +
'</div>' +
'</div>';
}
$('#poll-publish > .row').append(html);
}
});
}
我真的认为你的想法是这样的:编码的HTML很丑,并且使用和维护都很痛苦。当然,必须有更好的方法....谢谢你的惊人回应。我在这个回应中找到了很多答案。我总是试图找到最佳做法。 – Nevermore