2013-05-11 5 views
0

PHP 페이지에 행이 표시됩니다. 각 행에는 별도의 '좋아요'버튼이 있습니다. 사용자가 먼저 로그인해야하는 모든 행을 좋아하십시오. 사용자가 같은 버튼을 클릭하면 & 사용자가 로그인하지 않은 경우 라이트 박스에 로그인 양식이 표시됩니다.로그인 후 이전 Ajax 작업을 계속하는 방법

내가 원하는 것은 : 로그인 인증이 성공 경우, 나는 사용자가 즉 특정 행을 좋아하는 클릭과 같은 작용이 아약스를 계속하려면해야 사용자가 예를 대상으로 이전 작업. http://localhost/coments/like/193 이 문제를 해결하는 방법을 알려주십시오.

나는 아래의 기술을 사용했지만 이전 페이지를 동일한 페이지에서 전달했지만 이전 작업을 호출하지 않았습니다.

............... 
............... 
success: function(dat){ 
        if(dat.status == 'success') 
        { $('#fcboxlogindiverror').hide(); $('#facebox_login_progress').hide(); 
         window.location.href = '<?php uri_string(); ?>'; 
         //this is not calling the previous action, but correctly it is forwarding to the correct paage 

        } 

답변

0

당신은 예를 들어 배열에서 작업을 저장할 수 :

var actions = [] ; 
actions.push(function(){ 
    //Hide something, make something appear 
}) ; 

//or just 

var lastAction = function(){ 
    //Do your stuff 
} ; 

편집 : 누군가가 투표하는 경우

var actionsOnLogin = [] ; //Create array of executable functions 

상상은 : 아약스 요청을 보냅니다. 다시 AJAX를 사용에

다음
success: function(dat){ 
    var func = function(){ 
    //Increment number by one, change some graphics. 
    } 
    if(dat.status == 'success'){ 
    func() ; //Execute that function 
    } else { 
    actionsOnLogin.push(func); //Store that function in array 
    } 
} 

사용자가 로그인 :

success: function(dat){ 
    if(dat.status == 'success'){ 
    for(var key in actionsOnLogin){ 
     actionsOnLogin[key](); //Execute every function in that array 
    } 
    } 
} 
+0

이 좀 도와주세요 ... –

+0

@Ashutosh 난 그냥 체크 아웃, 내 대답을 편집했다. – vikingmaster

+0

감사합니다. 오랫동안 노력한 후에 이제이 작업을 수행 할 수있게되었습니다. 나는 설명 된대로 따라 갔다. –

관련 문제