Подтвердить что ты не робот

Как загрузить локальные файлы JSON в Javascript

Я пишу веб-приложение (ну, в конце концов, это будет виджет OS X Dashboard, но я решил прототипировать его сначала как простую веб-страницу), которому нужно загрузить некоторые инициализирующие данные из локального файла JSON. Мой код выглядит следующим образом:

function loadDatos() {   
    var xobj = new XMLHttpRequest();
    xobj.overrideMimeType("application/json");
    xobj.open('GET', 'datos.json', true);
    xobj.onReadyStateChange = function () {
        if (xobj.readyState == 4) {
            var jsonTexto = xobj.responseText;
            ProcessTheData(jsonTexto);
        }
    }
    xobj.send(null);
}

Функция вызывается из события onLoad() в теге BODY файла HTML. Теперь, из того, что я вижу при отладке, функция запускается, но обработчик события onReadytStateChange никогда не вызывается.

Что мне делать? Я думал, что было немного странно использовать XMLHttpRequest для доступа к локальному файлу, но новые обучающие программы, которые я видел, которые касаются этой проблемы, похоже, говорят, что она должна работать (99% документов, которые я видел, говорят о том, как для загрузки JSON с удаленного сервера, а не из локального файла).

Я тестирую Firefox 3.6.10, но я также пробовал использовать Safari 4.

4b9b3361

Ответ 1

onreadystatechange Свойство не имеет заглавных букв. См. MDC XMLHttpRequest

Ответ 3

Вы также можете использовать onload вместо onreadystatechange.