2012-04-10 3 views
0

IE에서 콜백 함수가 호출되지 않는 이유는 무엇입니까?

  1. 플리커 (Flickr)의 호출 :

    $.getJSON("http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos", 
    { 
        api_key: APIKey,  
        photoset_id: photoSetID, 
        format: "json", 
        per_page: 40, 
        nojsoncallback: 1   
    }, displayImages); 
    
    function displayImages(data) { alert('called'); } 
    
  2. 호출 YouTube에 : 다음과 같은 유형의 통화의

    $.getJSON('https://gdata.youtube.com/feeds/api/users/username/favorites?alt=json', function(data) 
    { 
        alert('called'); 
    }) 
    

모두 IE를 제외한 다른 브라우저에서 작동합니다. 이유를 설명해 주시겠습니까?

답변

1

jQuery는 IE가 아닌 < = 9 브라우저에서만 교차 도메인 아약스를 지원합니다. IE에서 이러한 API를 사용하려면 사용 가능한 경우 JSONp를 사용하거나 IE에서 사용되는 XDomainRequest API에 대한 지원을 추가하는 jQuery plugin을 추가해야합니다.

가능한 경우 JSONp를 사용하십시오. XDR에는 몇 가지 제한 사항이 있습니다. 자세한 내용은 http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx을 참조하십시오.

+0

오, 고맙습니다. 나는 그 사실을 몰랐습니다. 플러그인을 추가하기 만하면 즉시 Flickr 문제가 해결되었습니다. 아직 유튜브는 없지만 고칠 수 있다고 생각합니다. 다시 감사합니다! –

+0

콜백을 사용하여 YouTube 문제도 해결했습니다. =? :) –

관련 문제