지연 함수를 처음 시도한 것이므로 분명히 잘못되었습니다. 나는 조금이 일을 분명히 몇 가지 방법을 거기로 혼동있어하지만 난 찾을 수있는 간단한에서 작업을 시도Deferred getJSON의 반환 값이 정의되지 않았습니다.
Get_JSON(my_url).done(function(data) {
console.log(data['name']);
});
function Get_JSON(url) {
var def = $.Deferred();
$.getJSON(url).done(function(data){
console.log(data['name']);
def.resolve({
data:data
});
});
return def;
}
내 콘솔 출력은 다음과 같습니다
John
undefined
(요한이 예상 이름 인)
나는 그것이 잘못되고있는 부분이 def.resolve
이라고 생각합니다. 당신이 당신의 코드를 단순화 할 수 있습니다, 그러나
Get_JSON(my_url).done(function(data) {
console.log(data.data['name']);
});
:
Get_JSON(my_url).done(function(data) {
console.log(data['name']);
});
function Get_JSON(url) {
return $.getJSON(url);
}
을
해야 할 것 :
불필요한 기능 프록시를 피하기 위해 +1 – pomeh
'.name'뿐만 아니라'data'의 모든 속성을 검사 할 수있는'console.dir (data)'를 고려하십시오. –