2012-08-02 3 views
0

AJAX 성공 (이것은 jQuery Mobile 용 스크립트에 있음)을 실행 한 후에 새 페이지로 리디렉션되는 것처럼 보이지 않습니다. 다음 코드에서 리디렉션 이외의 다른 기능을 수행하면 sessionStorage가 예상대로 설정됩니다. 리디렉션을 수행 할 때 sessionStorage 코드가 실행되지 않습니다. 제안 ??AJAX 리다이렉트 성공 다른 로직을 오버라이드

$("#register").click(function() { 

    var formData = $("#registerUser").serialize(); 

    $.ajax({ 
     type: "POST", 
     url: "file.php", 
     //dataType:'json', 
     cache: false, 
     data: formData, 
     //success: onSuccess, 
     success: function (data) { 
      if (data.status == 'success') { 

       //execute some code here 
       var someValue = (data.id); 
       sessionStorage.setItem('someValue', someValue); 

      } else if (data.status == 'error') $("#notification").text(data.message); 
     }, 

     complete: function() { 
      window.location.replace('newPage.html'); 
     } 
    }); 

    return false; 
}); 
+0

참고 : -

success: function (data) { if (data.status == 'success') { //execute some code here var someValue = (data.id); sessionStorage.setItem('someValue', someValue); // redirect after success window.location.replace('newPage.html'); } else if (data.status == 'error') { $("#notification").text(data.message); } } 
byoung

답변

-1

는 자신이 하나를 알아 낸 당신은 JQM의 리디렉션을 사용해야합니다. Firefox에서는 모든 것이 예상대로 작동합니다.
+0

원래 질문에 JQM에 대한 언급이 없습니다. – WhyNotHugo

+0

Thanks Hugo - 나는 JQM을 나타내는 질문을 편집했다. – byoung

1

귀하의 성공과 완전성이 상충됩니다. 모두 완료되면 실행됩니다. 하나는 리디렉션됩니다. 리다이렉트 코드를 성공으로 옮겨서 리디렉션 코드가 다른 것을 수행 한 후에 리디렉션되도록하십시오. 이는 크롬에서 문제가 있음을 $.mobile.changePage('newPage.html');

success: function (data) { 
    if (data.status == 'success') { 

     //execute some code here 
     var someValue = (data.id); 
     sessionStorage.setItem('someValue', someValue); 

     // redirect after success 
     $.mobile.changePage('newPage.html'); 

    } else if (data.status == 'error') { 
     $("#notification").text(data.message); 
    } 
} 
+0

나는 실제로 같은 결과로 처음 시도했다. 페이지가 세션 저장 값을 저장하지 않고 리디렉션합니다 (크롬 만 해당) – byoung

+0

리디렉션을 해제하면 모든 것이 올바르게 작동합니다 (Chrome에서). – sachleen

+0

예 - sessionStorage가 리디렉션없이 정상적으로 설정되었습니다. – byoung

관련 문제