【发布时间】:2022-01-30 09:25:21
【问题描述】:
您好,我使用 ajax 编写了一些代码,我正在玩,但我不知道如何减少代码以使其有用,有什么办法吗? 我已经多次使用过这个.done,而且我肯定可以使用一次 如果你可以给我写一个类似的代码但要减少? 我什至不知道这是否是使用 ajax 的最佳方式? 我什至不知道这是否是使用 ajax 的最佳方式? 我什至不知道这是否是使用 ajax 的最佳方式?
var tbody = $('.tbody');
$('.item').on('click', function() {
$(this).addClass('active').siblings().removeClass('active');
});
$('li a').on('click', function(e) {
e.preventDefault();
var link = $(this).attr('href');
if (link == "books") {
$.ajax({
url : "https://mysafeinfo.com/api/data?list=bestnovels1&format=json&case=default&token=XH5nFfa1MsMqUNaZ3716yRM2WaJjIT6L",
dataType : "json"
})
.done(function (res) {
$('.page-header').html(link);
var text1 = '';
for(prop in res[0]) {
text1 += '<th>'+prop+'</th>'
}
thead.html(text1);
var text = '';
for (var i = 0; i < res.length; i++) {
text += '<tr>';
for(prop in res[i]) {
text += '<td>'+res[i][prop]+'</td>'
}
text += '</tr>';
}
tbody.html(text);
});
}else if(link == "novels") {
$.ajax({
url : "https://mysafeinfo.com/api/data?list=bestnovels7&format=json&case=default&token=XH5nFfa1MsMqUNaZ3716yRM2WaJjIT6L",
dataType : "json"
})
.done(function (res) {
$('.page-header').html(link);
var text1 = '';
for(prop in res[0]) {
text1 += '<th>'+prop+'</th>'
}
thead.html(text1);
var text = '';
for (var i = 0; i < res.length; i++) {
text += '<tr>';
for(prop in res[i]) {
text += '<td>'+res[i][prop]+'</td>'
}
text += '</tr>';
}
tbody.html(text);
});
}else if(link == "actors") {
$.ajax({
url : "https://mysafeinfo.com/api/data?list=bestactors1&format=json&case=default&token=XH5nFfa1MsMqUNaZ3716yRM2WaJjIT6L",
dataType : "json"
})
.done(function (res) {
$('.page-header').html(link);
var text1 = '';
for(prop in res[0]) {
text1 += '<th>'+prop+'</th>'
}
thead.html(text1);
var text = '';
for (var i = 0; i < res.length; i++) {
text += '<tr>';
for(prop in res[i]) {
text += '<td>'+res[i][prop]+'</td>'
}
text += '</tr>';
}
tbody.html(text);
});
}
})
【问题讨论】:
-
如果这段代码没有错误,而且这个问题只是关于代码的外观,这更适合Code Review
-
您可以将那些
done回调分离成构建 HTML 的小函数。 -
@RandyCasburn,这个问题需要做很多工作才能适合Code Review。您应该将提问者指向A guide to Code Review for Stack Overflow users,因为那里有些事情的处理方式不同 - 例如。我们需要很好地描述代码的用途以提供上下文,并且问题标题应该简单地说明代码做了什么(问题总是,“如何我可以改进吗?”)。代码正确运行很重要。如果可能,包括单元测试。
-
感谢@TobySpeight 的洞察力。我将复制您提供的链接,并在将来用于此类问题。我在 SExchange 中读到 Code Reivew(ers) 对 SO 的不良建议很敏感。
标签: javascript html jquery css