질문을 삭제하지 말아주세요.!
 
1
0
-1

안녕하세요


redirect()->back() 했을때 history 관리를 어떻게 하는지요?


A → B → C
A ← B ←  

A 페이지에서 B로 이동후   C페이지로 이동시

C페이지에서  validate 걸려서 redirect()→back() 을  해서

B로 왔는데  B에 있는  뒤로 가기 버튼(history.back()) 을 누르면  

A로 가고싶은데  C로 이동합게 됩니다.


redirect()->back()  이것이  header('Locaction: url') 로 이동하는것과 같으니 

브라우져  히스토리에 쌓여서 당연한 결과인데요.  좋은 방법 없을까요?

이거 따로 관리해주는  패키지나 라이브러리 없을까요?


감사합니다.

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      개인적으로는 redirect()→ back() 이 말씀하신 문제의 여지가 있어 조심조심 합니다만,

      그럼에도 redirect()→back() 을 쓰게 된다면, 자바스크립트가 아니라 비슷한 스타일로 php 코드에서 제어해줄 수 있는게 '어울릴' 것 같습니다.

      뒤로가기 자체가 자바스크립트에서 하면 '동적' 으로 동작한다고 할 때,

      뒤로가기 버튼에 뒤로 갈 위치를 '정적'으로 지정하면 되지 않을까요?

      URL::previous() 같은 종류를 쓰면 되지 않을까 싶네요. 

      https://laracasts.com/discuss/channels/laravel/laravel-urlprevious



      그게 아니면 세션을 이용해서 잔머리를 굴려볼수있겠습니다.

      redirect()->back()->with('validataion-error','yes');

      로 보내고, 대충 이런 의미로 처리해주면 되지 않을지...

      if (Session()->get('validation-error'){

      // history.go(-2);

      } else {

      // history.back(-1);


        CommentAdd your comment...