Próbuję załadować plik .json do zmiennej w javascript, ale nie mogę go uruchomić. To prawdopodobnie tylko drobny błąd, ale nie mogę go znaleźć.
Wszystko działa dobrze, gdy używam takich danych statycznych:
var json = {
id: "whatever",
name: "start",
children: [{
"id": "0.9685",
"name": " contents:queue"
}, {
"id": "0.79281",
"name": " contents:mqq_error"
}
}]
}
Umieściłem wszystko, co znajduje się {}w content.jsonpliku, i próbowałem załadować to do lokalnej zmiennej JavaScript, jak wyjaśniono tutaj: załaduj json do zmiennej .
var json = (function() {
var json = null;
$.ajax({
'async': false,
'global': false,
'url': "/content.json",
'dataType': "json",
'success': function(data) {
json = data;
}
});
return json;
})();
Uruchomiłem go z debugerem Chrome i zawsze mówi mi, że wartość zmiennej jsonto null. Plikcontent.json rezyduje plik w tym samym katalogu co plik .js że nazywa go.
Co mnie ominęło?
/content.jsonoznacza, że plik znajduje się na poziomie głównym aplikacji internetowej. Zmień nacontent.json(bez ukośnika), aby wskazać ten sam katalog, w którym znajduje się plik skryptu. Tylko w przypadku, gdy plik skryptu znajduje się w katalogu głównym, zadziała.