2010-02-13 4 views
18

beforeSend() 및 complete() 핸들러를 $ .post와 함께 사용하거나 $ .ajax를 사용해야합니까?

답변

33

두 가지 옵션이 있습니다. $.ajax() 또는 $.ajaxSetup()을 사용하십시오. $ 아약스()를 사용

:

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    success: success 
    dataType: dataType 
}); 

또는 귀하의 게시물이 $ .ajaxSetup()를 실행하지만,이 모든 아약스 요청에 영향을 미치는 전에 :

$.ajaxSetup({ 
    beforeSend: myFunc, 
    complete: myCompleteFunc 
}); 
3

$.ajaxSetup을 사용할 수 있지만 전 세계적으로 적용됩니다. 이것이 적합하지 않다면 $.ajax을 사용해야합니다.

3

$ .ajaxSetup()을 사용하지 않는 한 $ .ajax를 사용해야하지만, 이것은 가장 현명한 선택이 아닐 수 있습니다.

$ .ajax를 사용하지 않아야하는 이유는 무엇입니까?

+0

그러면 $ .ajax로 내 모든 .post 바로 가기를 변경해야합니다. 그들은 적지 않다 =) – ajsie

9

이 완료 작동됩니다 :

beforeSend를 들어
var jqxhr = $.post("example.php", function() { 
     alert("success"); 
jqxhr.complete(function(){ alert("second complete"); }); 

, 당신은 당신이 그들이 할 수 말했듯이 $ 아약스를 사용하지 않으려면 $ .post를 호출하기 전에 $ .ajaxSetup을 사용해야합니다 전부.

관련 문제