2012-10-29 2 views
8

IE 9에서이 코드를 실행했습니다. UTF-8 수정에 대한 모든 게시물을 살펴 보았지만 아무 소용이 없습니다. 이견있는 사람?

$.get({ 
    url: 'http://api.flickr.com/services/rest/?api_key={apikey}&method=flickr.collections.getTree&user_id=66970820%40N03&collection_id=66947766-72157631850748939', 
    success: function() { 
     console.log('success!'); 
    } 
}).done(function() { 
    console.log('done'); 
}).fail(function() { 
    console.log('fail') 
}); 

Safari, FF 및 Chrome에서 잘 작동합니다. URL을 IE에 붙여 넣을 때 응답이 좋습니다.

+2

정확히 작동하지 않는 이유는 무엇입니까? –

+0

전체 내용을 알지 못하면 도메인 간 문제가 발생할 수 있습니다. $ .getJSON을 살펴보십시오. 특히 JSONP에 관한 부분. – Erik

+0

URL은 크로스 도메인을 검색 할 수없는 xml 문서입니다. jsonp dataType을 $ .get에 추가하고 jsonp에 url에 param을 설정하여 API가 jsonp가 xml이되도록 반환해야합니다. – charlietfl

답변

4

를 @ Iden Gozlan, 당신의 대답은 좋았지 만, 제 정신이 혼란스러워졌습니다.

@Erik 및 @charlietfl JSONP에 대한 귀하의 제안은 저를 올바른 길로 인도했습니다. 그것은 확실히 크로스 도메인 스크립팅 문제입니다. 왜 IE가 이것을 허용하지 않는지 이해할 수 없습니다. 내 코드를 편집하여 모두 잘 작동했습니다! 저를 도와

$.ajax({ 
    url: 'http://api.flickr.com/services/rest/?api_key={apikey}&method=flickr.collections.getTree&user_id=66970820%40N03&collection_id=66947766-72157631850748939&jsoncallback=doSomeGreatStuff', 
    dataType: "jsonp" 
}); 

function doSomeGreatStuff(response) { 
    // do some great stuff with the json response 
    console.log(response.collections.collection[0].id); 
} 

자료는 hereherejQuery XDomainRequest plugin은 경이를 작동도 here

3

있습니다.
IE8과 9에서 ajax 문제가 있었지만 코드를 변경하지 않고이 플러그인을 포함하면 IE8 및 CORS 아약스 IE8 기능을 사용할 수 있습니다.

+0

빙고 -이 라이브러리가 작동합니다 – jedierikb

+0

그 라이브러리가 실제로 작동합니다! – Danny

관련 문제