Я пишу веб-приложение (ну, на самом деле, в конечном итоге это будет виджет панели инструментов OS X, но я решил сначала создать его прототип как простая веб-страница), которому необходимо загрузить некоторые инициализирующие данные из локального файла 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.