lyb2987
30
2020-05-20 14:32:42
5
158

ajax로 페이징 구현시 새로운 데이터를 적용하는 방법에 대해 질문드립니다!


Spring 레거시 프로젝트에서 페이징을 구현하고있습니다!


Paging 클래스를 만들어 페이징에 필요한 데이터와 연산을 처리하게 하였습니다.


게시판으로 이동하였을때 시간기준으로 가장 최근 데이터를 페이징하여 가져오는것까지는 성공했습니다.


문제는 화면에서 다음 버튼을 클릭할때 글목록과 페이지 버튼을 새롭게 바꾸어주어야 하는데

그 부분을 어떻게 바꾸어 줄 수 있는지 잘 모르겠습니다.


다음 버튼을 클릭했을때 아래와 같은 ajax를 실행하여 필요한 연산을 마친 paging 객체를 가져왔습니다.



이 객체를 이용해서 다음 게시판의 목록과 버튼들을 바꾸어 주고싶습니다.


드래그된 소스들의 변경 없이 ajax의 success 부분에 코딩하는것 만으로 글목록과 페이지버튼을 바꿀수 있는 방법이 있나요??


예제를 따라 만든것이 아니라 오히려 따라하기 힘들것 같구

그렇다고 구글링을해도 뭐라고 검색해야 할지 잘 모르겠습니다


자바스크립트 고수분들은 답변부탁드립니다! 


0
0
  • 답변 5

  • 어쩌다
    6k
    2020-05-20 14:36:53

    ajax의 success 부분에 코딩하는것 만으로 글목록과 페이지버튼을 바꿀수 있는 방법이 있나요??


    그럴려구 ajax를 이용하는거예요...

    success 부분에서 바로 insertHTML 하시던지 

    별도로 함수를 만드셔서 호출하시면 될듯합니다.

    1
  • 전술programmer
    462
    2020-05-20 14:49:57 작성 2020-05-20 14:57:06 수정됨

    jsp 코드로 게시판 목록을 불러오지 마시구

    ajax로 jsp코드 그리면서 div에 html()함수로 붙이는 식으로 해보세요.


    $(function() {
      var pageNum = 1;
      $.getList(pageNum); // 게시판 목록 ajax
    });


    $.getList = function(pageNum) {
            $.ajax({
             type:
             url:
             data:
             ),
             success: function(result) {
             var list = "";
             list += "<div>..."
                 ....
                  
             $('.list').empty();
             $('.list').html(list);
     };

    이런 식으로 말이죠.

    그러면 페이지 클릭했을때 해당 페이지 번호 넘겨주면서

    페이지 click 이벤트에 $.getList() 함수 실행해주면 목록이 바뀌겠죠?


    $('.pageNum').on("click", function() {
       var pageNum = $(this).text(); (or $(this).attr("data-page") 등.. 여러가지방법)
       $.getList(pageNum);
    });


    이전,다음 버튼 클릭후 페이지 번호 노출 바뀌게 하는것도 ajax로 페이지블록수, 게시글수 등 계산해서 가능합니다. 고민해보세요 ㅎ

    1
  • lyb2987
    30
    2020-05-20 14:56:14

    두분다 친절한 답변 감사합니다 ㅠㅠ

    꼭 성공시키겠습니다!

    0
  • 전술programmer
    462
    2020-05-20 14:59:25 작성 2020-05-20 15:04:24 수정됨

    근데 실제 업무 투입되어 개발한다고했을때 사용자 입장에서는 페이지 이동후 뒤로가기 버튼 클릭시 이전 화면으로 이동해야하는데 ajax으로 구현할 경우 뒤로갈 페이지가 없어져 불편함을 느낍니다.

    그래서 페이징 처리는 ajax말고 url넘기는식으로 페이지 리로드 되는게 더 나을겁니다. 실제로도 페이징은 ajax로 구현잘안하구요.

    일단 배우시는 입장이니 공부한다는생각으로 해보세요 ㅎ

    1
  • lyb2987
    30
    2020-05-20 15:43:47

    아하 그렇군요 ㅠㅠ 기초가 많이 잡혀있는 상태에서 시작한게 아니라 몰랐네요!

    금같은 조언 감사합니다! 다음에 구현할때 꼭 참고하겠습니다!

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.