2
응용 프로그램 컨트롤러의 변수를 AJAX 호출에서 반환 된 값으로 재설정하려고합니다. 'this'에 올바른 문맥이 없기 때문에 아래에 표시된 코드가 작동하지 않습니다. 서버는 15와 다른 값을 반환하지만 두 번째 console.log는 여전히 15를 출력합니다. App.ApplicationController.set ('x', data) 및 controllers.application.set ('x', data) 및 다른 가능성은 거의 없습니다. 아무도 일하지 않았다. 이 작업을 수행하는 올바른 방법은 무엇입니까?AJAX 호출에서 반환 된 결과에 응용 프로그램 컨트롤러 변수 설정
App.ApplicationController = Ember.Controller.extend({
x: 15,
init: function() {
console.log(this.get('x'));
$.getJSON ("strats/limits.json")
.done (function (data){this.set('x', data);});
console.log(this.get('x')}
});
두 번째 console.log는 항상 첫 번째와 동일한 값을 인쇄합니다. 'getJSON()'는 블록하지 않고, 즉시 반환하고 나중에 비동기 적으로'done' 함수를 호출합니다. –