포스트 목록

2016년 6월 29일 수요일

Ajax 로 구현된 게시판에서 페이징시 뒤로가기에 대한 문제 해결

만약 게시물을 가져오는 부분이 Ajax 처리 되어 있다면, 뒤로가기를 했을 때 첫 페이지로

이동하는 문제가 발생할 것 이다. 

예를들어 아래 그림과 같이 게시판을 구성했다고 하자.




article_list.jsp 는 기본 레이아웃이고, 카테고리의 종류에 따라 Ajax 요청을 하고 안에 내용

만 바뀐다고 했을 때, 게시물 보기나 수정 또는 작성에서 이전 페이지의 번호를 저장할

필요가 있다.



해결책

1. *_list.jsp 에서 게시물을 클릭 했을 때, 다음이 수행되도록 한다.

document.location.hash = "#info" + ${currentPage} + "/" + ${article_type_emoticon_id};



2. article_list.jsp 에서 javascript 에 다음과 같은 코드를 삽입한다. 

// 데이터가 있으면 수행
if(document.location.hash){

  // 필요없는 부분은 일단 지움
  var HashLocationName = document.location.hash;
  HashLocationName = HashLocationName.replace("#info","");

  // 저장하고 있어야 할 데이터가 여러개 이면, split을 사용
  var info = HashLocationName.split("/");

  /* 
   * 필요한 로직을 넣으면 된다.
   */
} else {

  // 페이징을 예로 들 경우 기본 값(1 페이지)을 세팅한다.
}




댓글 2개: