JQuery $.getJSON загрузить локальный файл JSON не работает
Моя проблема очень проста, у меня есть файл с именем new.json, и я пытаюсь использовать JQuery для загрузки и отображения данных. Я писал код JavaScript:
$.getJSON("new.json", function(data){
// I have placed alert here previously and realized it doesn't go into here
$.each(data.streetCity, function(i,s){
alert(s);
});
});
}
и данные в new.json выглядят так:
{"streetCity":
{
"1":"Abergement-Clemenciat",
"2":"Abergement-de-Varey",
"3":"Amareins"
}
};
3 ответа
Если вы используете Chrome. Потому что Chrome не позволяет xmlhttprequest запрашивать локальный файл. Так что jquery не может загрузить ваш new.json
можете добавить
--allow-доступ к файлам, из-файлов
к команде запуска Chrome. Это может позволить xmlhttprequest загрузить локальный ресурс
Если вы используете jQuery 1.5+, вы можете связать обработчик ошибок с вызовом, чтобы увидеть, что происходит:
$.getJSON("new.json", function(data){
// I have placed alert here previously and realized it doesn't go into here
$.each(data.streetCity, function(i,s){
alert(s);
});
}).error(function(jqXhr, textStatus, error) {
alert("ERROR: " + textStatus + ", " + error);
});
new.json, вероятно, находится в другом пути, чем вызывающая страница. Кроме того, если ваши фрагменты точны, вам не нужна последняя фигурная скобка в сценарии или последняя точка с запятой в json.
Ваша проблема это ';' (точка с запятой) в файле JSON. Ответ JSON не нуждается в точке с запятой. Уберите, что ваш пример должен работать нормально!