저는 angularJS 및 SLIM PHP 안정적인 서버를 사용하고 있습니다. PHP 서비스가 작동하고 실제로 $ http.get()를 이미이 응용 프로그램에서 문제없이 사용했습니다 ... 하지만 지금은 이상한 일이 일어나고, 나는 다른 사람들과 같은 방식으로 새로운 기능을 만들었고 아무런 문제없이 .success (function (data))를 얻었습니다. 실제로 console.log (data)를 사용할 수 있고 올바른 결과를 보여줍니다. 하지만 .success()가 끝나고 돌아 오면, 정의되지 않은 결과를 얻는다. ps : 브라우저 콘솔에 오류가 없습니다. 성공 내부
var markerOptions = [];
loadMarkers();
console.log(markerOptions);
function loadMarkers() {
$http.get('http://localhost/rest/getMarkers').success(function(response){
console.log(response);
markerOptions = response;
});
}
- 을 console.log()() MarcKline의 의견이 올바른지 @ 정의되지 않은
'$ http.get'은 (는) 비동기식이므로 동기 코드가 발생하는 곳에서는 그 결과를 즉시 사용할 수 없습니다. 이것이'console.log'가'success' 밖에서 비어있는 이유입니다. –
참조 : http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call –
자세히 알아보기, 이것은 매우 일반적인 고통의 포장의 두통이 가치가있다 너의 머리를 한 번에. –