2013-08-14 2 views
1

다음 jQuery 코드가 있습니다. 몇 가지 AJAX 요청을해야합니다. 이처럼 : POST 요청 후 함수가 중지됩니다.

function Test() { 
    $.post("test.php", { 'test': "test1" }, function (result) { 
     alert(result); 
    }); 

    alert ("First done"); 

    $.post("test2.php", { 'test': "test2" }, function (result) { 
     alert(result); 
    }); 

    alert ("Second done");; 
} 

나는 처음 alert(result) 볼 수 있지만 나는 alert("First done"); 이유를 볼 수 없습니다? 이 문제를 어떻게 해결할 수 있습니까?

P. 아니오 경고 (결과); 완벽한 작업 및 반환 값 witout 예외.

감사합니다. 나는 실수를 발견했다.

+0

을 지정하고 무엇을 먼저'경고 (결과)하기 위해,'반환? 오류.? –

+0

무엇을하려고합니까? – user2232273

+3

jQuery ajax 함수는 기본적으로 비동기식이므로 alert (result) 전에 "first done"및 "second done"경고가 모두 발생해야합니다. 당신은 그 경고를 전혀 보지 못합니까? 코드에는 명백한 시퀀스 문제가 있지만 경고 발생을 막을 수있는 것은 없습니다. – cernunnos

답변

0

시도 대신에 $ .post의 $ 아약스를 사용하고 async false

function Test() { 
    $.ajax({ 
     type: 'POST', 
     url: "test.php", 
     data: { 
      'test': "test1" 
     }, 
     success: function (result) { 
      alert(result); 
     }, 
     async: false 
    }); 

    alert("First done"); 

    $.post("test2.php", { 
     'test': "test2" 
    }, function (result) { 
     alert(result); 
    }); 

    alert("Second done");; 
}