.json 파일을 javascript의 변수에로드하려고하는데 작동하게 할 수 없습니다. 아마도 사소한 오류 일 수 있지만 찾을 수 없습니다.
다음과 같은 정적 데이터를 사용할 때 모든 것이 잘 작동합니다.
var json = {
id: "whatever",
name: "start",
children: [{
"id": "0.9685",
"name": " contents:queue"
}, {
"id": "0.79281",
"name": " contents:mqq_error"
}
}]
}
파일 {}
에있는 모든 것을 content.json
파일에 넣고 여기에 설명 된대로 로컬 JavaScript 변수에로드하려고했습니다. load json into variable .
var json = (function() {
var json = null;
$.ajax({
'async': false,
'global': false,
'url': "/content.json",
'dataType': "json",
'success': function(data) {
json = data;
}
});
return json;
})();
Chrome 디버거로 실행했는데 항상 변수의 값 json
이 null
. content.json
를 호출의 .js 파일과 같은 디렉토리에 파일이 상주.
내가 놓친 게 무엇입니까?
/content.json
파일이 웹 앱의 루트 수준에 있음을 의미합니다.content.json
(슬래시없이)로 변경 하여 스크립트 파일이있는 동일한 디렉토리를 가리 킵니다. 스크립트 파일이 루트 레벨 디렉토리에있는 경우에만 작동합니다.