2011-12-24 2 views
0

GET URL을 보내는 서버에서 응답을 얻으려고했지만 동일한 GET URL을 넣을 때이 특정 서버에서 작동하지 않습니다. 브라우저에서 나는 대답을 얻는다. 서버는 django python에 있으며 현재 클라이언트 측을 프로그래밍 중이기 때문에 액세스 권한이 없습니다.

이 자바 스크립트 코드 :

var url = "https://www.mysite.com/module/get_requ/?user=ms&money_type=F&coin-count=1&pass=test&slots_id=12&line-value=9&slots_type=12&cacheBuster=1278933269465&coin-value=0.05"; 
$.getJSON(url, 
     function(data){ 
      alert(data); 
     }); 

하지만 난 할 때

var url = "http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=jso&jsoncallback=?"; 

을 위의 코드에서 그것은 완벽하게 작동합니다. 그래서, 내가 뭔가 잘못하고 있는지, 아니면 문제가 서버 쪽인지 알고 싶습니다.

+2

서버와 클라이언트 코드가 같은 도메인에 있습니까? [같은 출처 정책] (http://en.wikipedia.org/wiki/Same_origin_policy)로 인해 다른 도메인에 요청할 수 없습니다. –

+0

은 간단한 오타처럼 보입니다 ... 'url_flickr'을 getJSON에 전달 중입니다. 명령을 사용하지만'var url'을 설정했습니다. (그것은 당신이 제공하는 두 번째 URL에 대해 작동한다고 가정하면 flickr url입니다 ... 직접 복사 붙여 넣기 위의 코드입니까? – lhagemann

+0

@ chakram88, 죄송합니다. 원래 코드에'url'을 전달하고 있습니다. url'과'url_flickr'은 원래 코드로 바꿉니다. @Andrew Whitaker, 제 컴퓨터에서 요청하고 있습니다. –

답변

3

same origin policy이 원인 일 가능성이 큽니다. 플리커 API는 SOP의 적용을받지 않는 JSONP를 사용합니다. 따라서 bingocastle.co.uk이 JSONP 인터페이스를 노출하지 않으면 bingocastle.co.uk 클라이언트 측에서 일부 서버 프록시를 거치지 않고 데이터를 요청할 수 없습니다.

+0

음 ... 재미 있습니다! : D –