순수 JS의 범위에 대한 기본적인 이해조차하지 못한다는 것을 깨달았을 때 분명히 너무 많은 CoffeeScript를 작성했습니다. 내가 바로 var에 A = 데이터 '아래 라인 [에 CONSOLE.LOG (A) 문을 넣으면JavaScript/jQuery의 범위
잠시 동안 연주 후, 나는 following--
$(document).ready(function() {
var myUrl = "http://notimportant.com/"
var photos = getPhotos(myUrl);
console.log(photos); //undefined
});
function getPhotos(url) {
var a;
$.get(url, function(data) {
a = data["photoset"]["photo"];
console.log(a); //my object
});
return a;
}
으로 문제를 알아낼 수 없습니다 "photoset"] [ "photo"]; ' 그것은 내가 찾고있는 GET 요청을 적절히 만들어주는 것을 보여줍니다. 하지만 그 객체를 코드의 주요 블록으로 다시 전달하는 것이 불가능하다는 것을 알고 있습니다.
미리 감사드립니다.
'$ .get '은 (는) 비동기입니다. 'return a;'문은 즉시 반환됩니다 (즉, 콘솔에서'undefined '가 표시되는 이유입니다). get,'function (data)'의 두 번째 인자는 ajax 응답이 되돌아 왔을 때 실행되는 콜백이다 (콘솔에있는 적절한 데이터를 가지고). 데이터를 조작하기 위해서'get' 콜백 함수를 호출 할 수 있습니다. – Jack