2017-10-26 14 views
0

로 리디렉션Grails는 .. 내가 작업 상태를 5 분마다에 대한 데이터베이스를 확인하고 작업의 상태에 대해 사용자에게 업데이트 상태 페이지를 만들려고하고 다른보기

작업이 완료 그래서 일단

, I

는 자바 스크립트를 사용하여 상태 메신저를 업데이트하려면 .. 페이지를 결과에 현재 페이지에서 이동하려는 :

function() { 
      setInterval(function() { 

       var uuid =" \'${uuid}\'"; 
       var jobid =" \'${jobid}\'"; 
       console.log(); 
       $('#checkstatus').load('/jobque/connectdatabase',{jobid:jobid,uuid:uuid}); 
      }, 5000); 
     }); 

상태 확인이 제대로 작동합니다. 나는 리다이렉트 또는 포워드를 사용해 보았지만이 두 가지 용어 모두 결과 페이지를 현재 페이지로로드한다. 다음 페이지로 이동하여 현재 페이지로로드하지 않습니다.

다른 옵션은 무엇입니까?

답변

0

귀하의 자바 스크립트는 jquery를 사용하여 컨트롤러 동작에 대한 호출 결과를 명명 된 요소에로드합니다.

컨트롤러 동작에 대한 호출 결과를 확인하고 성공을 나타내면 자바 스크립트를 사용하여 원하는 페이지로 리디렉션하십시오.

컨트롤러 액션 :

$.ajax({ 
     timeout:5000, 
     type: 'POST', 
     url: controller_action_url_for_checkStatus, 
     success: function(data){ 
      window.location.href=data 
     }, 
     error: function(data){ 
      // do something else 
     } 
    }); 
: 웹 페이지에

def checkStatus() { 
    if (status_check_ok) { 
      render 'url_of_page_for_redirect' 
      return 
    } 
    render status:409 // failure 
} 

자바 스크립트