2017-09-26 15 views
0

Flickr API를 사용하기 만하면 아무 것도 제대로 열 수 없습니다. XMLHttpRequest - flickr - 원본 헤더 건너 뛰기

가 나는 또한 내가 아니라하는 API와 AJAX가/XMLrequest 성공적으로 사용했던 기존의 바닐라 경로

var xhr = new XMLHttpRequest(); 
xhr.open("GET", "https://api.flickr.com/services/feeds/photos_public.gne?format=jsoncallback=?"); 
xhr.onreadystatechange = function(data){ 
    console.log(data); 
} 
xhr.send(); 

을 시도

var flickrURL = "https://api.flickr.com/services/feeds/photos_public.gne?format=jsoncallback=?"; 
var flickrOptions = { 
    tags: "cats", 
    format: "json" 
} 
var ajaxCallback = function(data){ 
    console.log(data); 
}; 
$.getJSON(flickrURL, flickrOptions, ajaxCallback); 

아래 jQuery 코드를 사용했습니다. 바닐라가 실패 할 때 오픈 피드가되고 Jquery를 사용하기 때문에 'JsonFlickrFeed가 정의되지 않았습니다'라는 의미의 '이해할 수없는'액세스 제어 허용 허용 원점 '헤더'가 나타납니다. . 둘 다 어느 나는 그냥

var flickrURL = 

"https://api.flickr.com/services/feeds/photos_public.gne?format=jsoncallback=?"; 

var flickrOptions = { 
    tags: "cats", 
    format: "json" 
} 

var jsonFlickrFeed = function(data){ 
    console.log(data); 
}; 

$.getJSON(flickrURL, flickrOptions); 

플리커 응답이 사건에 정의되지 않은 jsonFlickrFeed 기능을 찾습니다 사소한 변경을 할 필요가

답변

1

매우 당혹 찾을 수 있습니다.

https://codepen.io/smtgohil/pen/ZXeYqB?editors=0010

당신은 출력을위한 콘솔을 확인할 수 있습니다.

+0

감사합니다 남자가, 나 또한 바닐라 방법은 단순히 페이지에 스크립트를로드하고 –

+0

그래 언급으로는 jsonFlickrFeed를 호출 할 수 있도록 포함한다는 의견의 뒷면을 발견 .. .happy와 코딩 .. : 디 –

0

Sumeets 대답은 정확하지만 나는 그 뒤에서 내 바닐라 솔루션을 게시 할 것이라고 생각했습니다.

var script = document.createElement('script'); 
script.src = "https://api.flickr.com/services/feeds/photos_public.gne?format=json"; 
document.getElementsByTagName('head')[0].appendChild(script); 
var jsonFlickrFeed = function(data){ 
    console.log(data); 
}