2011-12-08 6 views
0

YouTube 동영상 ID 배열을 사용하면 Youtube API를 호출하고 해당 동영상에 대한 데이터를 반환하는 프로그램이 있습니다. 전화로이 작업을 수행합니다.ajaxStop이 DOM 요소에 없음

$.getScript("http://gdata.youtube.com/feeds/api/videos/"+encodeURIComponent(id)+"?v=2&alt=json-in-script&callback=youtubeFeedCallback"); 

이 작업은 배열의 각 비디오 ID에 대해 수행됩니다. ajaxStop을 사용하여 이러한 요청이 모두 완료되면 무언가를 수행 할 수 있습니까? 어떤 종류의 .click 또는 .mouseover 또는 기타 이와 같은 이벤트에서이 작업을 수행하지는 않지만 이러한 요청은 페이지가로드 될 때 간단히 보내집니다. 내가하려고 노력 :

$.ajaxStop(function() { (do something here) }); 

을하지만, 나는 다음과 같은 오류가 발생했습니다 : catch되지 않은 형식 오류 : 개체 기능 (A, B) {새로운 e.fn.init (A, B, H)를 반환}있는 방법 'ajaxStop이 없습니다 '. 일부 요청이 403 Forbiddens를 반환하는 경우에도이 기능이 작동합니까?

편집 : 내 솔루션은 약간 해키하지만, 그것을 고정

를 해결했다. 대신 $ .getScript를 사용하는 대신 $ .ajax 함수를 사용했습니다. 그런 다음 글로벌 카운터 변수를 사용하여 $ .ajax의 "error"메서드를 사용하여 오류가 발생하거나 성공할 경우 카운트를 증가 시켰습니다. 그런 다음 방금 count 변수가 내 배열의 길이와 같을 때 내가 원했던 것을 호출했습니다. Id는 이것을하는 더 좋은 방법이 있다면 여전히 듣고 싶어합니다.

답변

0

ajaxComplete 이벤트를 사용해보십시오. 거기에 대한 jQuery 메서드가 있습니다. http://api.jquery.com/ajaxComplete/

모든 요청이 완료 될 때 알 수 있도록 요청 금액을 계산해야 할 수도 있습니다.

0

div 블록과 링크 할 때이 문제를 해결합니다.

예 :

$("#smthing").ajaxComplete(function(){do smth}) 
관련 문제