2013-11-29 4 views
0

나는 이것을 달성하기위한 좋은 방법을 찾고있다. 다른 좋은 제안이 있다면, 나는 모두 귀입니다.사용자 정의 jQuery AJAX 메소드

기본적으로 내 사이트에는 많은 ajax 호출이 있습니다. 그러나 이러한 코드를 반복해서 호출 할 필요가 없도록 이러한 코드를 호출해야한다고 생각합니다. 특히 beforeSend 메소드. 나는 매번 체크 방법을 타이핑하고 싶지 않다. 이 방법에 어떻게 접근해야합니까? 매번 확인 방법을 입력하지 않아도됩니까? 아래에 언급 된 것과 다른 방법을 추가 할 수 있지만 아래의 2 번을 반드시 호출해야합니다. 아약스 호출을 다른 방식으로 인스턴스화하는 것도 괜찮습니다.

현재, 나는 모든 다른 맛의 이곳 저곳이 있습니다

var Params = {}; 
    Params.type = "POST"; 
    Params.url = '/this/is/my/url'; 
    Params.cache = false; 
    Params.timeout = 180000; 
    Params.processData = true; 
    Params.data = { 
     action: "ajax", 
     method: "coolMethod", 
    }; 

    Params.dataType = "json"; 
    Params.beforeSend = function() { 
     checkIfUserHasLoggedOut(); 
     checkSomeOtherThings(); 
    }; 
    Params.error = function (xhr, status, error) { 

    }; 
    Params.success = function (data) { 

    }; 

답변

2

그런 다음 특정과 $.ajax()를 사용하는 아약스 요청

jQuery.ajaxSetup({ 
    cache: false, 
    timeout: 180000, 
    processData: true, 
    dataType: 'json', 
    beforeSend: function() { 
     checkIfUserHasLoggedOut(); 
     checkSomeOtherThings(); 
    } 
}) 

에 대한 설정에 기본 매개 변수를 $.ajaxSetup()을 사용할 수 있습니다 매개 변수는 모든 통화에서 변경됩니다.

$.ajax({ 
    type: 'POST', 
    url: '', 
    data: {...}, 
    success: ...., 
    failure: .... 
}) 
+0

awesome ........ – KingKongFrog

+0

beforeSend에 추가하고 싶지만 겹쳐 쓰지 않으려면 어떻게해야합니까? – KingKongFrog

+0

@KingKongFrog 예 .... 덮어 쓰지 말아야합니다 –

관련 문제