2009-10-11 2 views
2

거기에 아약스가 많은 큰 JavaScript 애플리케이션 (써드 파티 스크립트)이 있습니다. 이제 모든 Ajax 이벤트를 가로 챌 필요가 있습니다. 즉, 서버의 메시지가 전송 텍스트 나 메시지로 되돌아 왔을 때,이 텍스트/메시지가 대체를 원합니다.모든 jquery ajax 이벤트를 차단하는 방법은 무엇입니까?

문제 : 이것으로 시도했지만 모든 아약스 이벤트에 반응하지 않습니다. 그것은 JQuery와 예제 페이지에서의이 #msg의 일이 뭔가에 대한 자리 표시 자 다음과 같습니다

$("#msg").ajaxSuccess(function(evt, request, settings){ 
      alert('ajax event'); 
      $(this).append("<li>Successful Request!</li>"); 
}); 

답변

1

귀하의 구문이 올바른지 보인다. 문법을 세 번 확인했는데 괜찮아 보입니다. 당신은 제 3 자 ajax 호출을 사용하고 있다고 언급했습니다 ... .ajaxSuccess()는 jQuery의 ajax 호출을 사용하는 경우에만 트리거합니다. $ .post, $ .get 또는 $ .ajax와 같습니다.

제 3 자 호출 인 경우 jQuery 메서드를 사용하여 다른 모든 ajax 호출을 변경해야합니다.

이 정보가 도움이 되었기를 바랍니다. 전혀 맞지 않을 수도 있습니다.

+0

첫 번째 줄에서 "#msg"는 무엇을합니까? 나는 그것을 대체 할 필요가 없다. –

+0

# msg는 "msg"(대소 문자 구분) ID를 가진 컨트롤을 나타냅니다. #msg를 가리키는 유일한 이점은 함수 호출에서 "this"로 참조 할 수 있다는 것입니다. LI 항목이 들어있는 UL 객체가 있다고 가정했지만 예제에서이 호출을 복사 한 경우 이벤트 호출을 $ ("form")으로 쉽게 할 수 있습니다. ajaxSuccess 변경하려는 컨트롤을 가리 키지 않아도됩니다. 모든 컨트롤을 가리켜 야합니다. . ("양식") $를 ajaxSuccess (기능 (EVT, 요청, 설정) { 경고 ('아약스 : – Evildonald

+0

PS는 오타의 몇 가지가 있습니다 ..이 작동하는 경우 – Evildonald

관련 문제