>source

안녕하세요, 저는 ajax를 사용하여 code를 만들고 게임을 하고 있었는데 유용하게 유지하기 위해 code를 줄이는 방법을 모르겠습니다. 어떤 방법이 있습니까? .done을(를) 여러 번 사용했으며 한 번은 확실히 할 수 있었습니다. 당신이 나에게 비슷한 code를 작성할 수 있지만 줄일 수 있다면? 이것이 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&amp;
format=json&amp;
case=default&amp;
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&amp;
format=json&amp;
case=default&amp;
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가 오류 없이 작동하고 이 질문이 code 모양에 관한 것이라면 code 검토에 더 적합합니다.

Randy Casburn2022-01-30 17:15:14

완료된 콜백을 HTML을 빌드하는 작은 기능으로 분리할 수 있습니다.

Andy2022-01-30 17:15:14

@RandyCasburn, 이 질문은 code 검토에 적합하기 전에 많은 작업이 필요합니다. 이 클럽 사용자를 위한 code 검토 가이드에서 질문자에게 지시했어야 합니다. 거기에서 일부 작업이 다르게 수행되기 때문입니다. 우리는 컨텍스트를 제공하기 위해 code의 목적에 대한 좋은 설명이 필요하고 질문 제목은 단순히 code가 무엇을 하는지 말해야 합니다(질문은 항상 "이것을 개선할 수 있습니까?"입니다). code가 올바르게 작동하는 것이 중요합니다. 가능하면 단위 테스트를 포함하십시오.

Toby Speight2022-01-30 17:15:14

통찰력 @TobySpeight에 감사드립니다. 귀하가 제공한 링크를 복사하여 향후 그러한 질문에 사용하겠습니다. 나는 SExchange에서 Code Reivew(ers)가 SO의 좋지 않은 권장 사항에 민감하다는 것을 읽었습니다.

Randy Casburn2022-01-30 17:15:14
  • 이전 r : 여러 행에 대해 두 숫자 사이에 순차적 값을 생성하는 방법은 무엇입니까?
  • 다음 html : 양식에서 여러 라디오 버튼을 선택하는 방법은 무엇입니까?