Nano Hash - криптовалюты, майнинг, программирование

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"
    }
};
14.12.2012

  • Убедитесь, что new.json находится в том же каталоге, что и файл, в котором выполняется JS, выполняющий запрос ajax. Я почти уверен, что вы тоже не хотите ;. 14.12.2012
  • если сервер не запущен на локальном компьютере, некоторые браузеры не разрешат ajax без настройки параметров 14.12.2012
  • Возможный дубликат, если вы используете Chrome: stackoverflow.com/questions/2541949/ 14.12.2012
  • интересно то, что это влияет не только на Chrome, но и на другие браузеры. 25.12.2012

Ответы:


1

Если вы используете Хром. Поскольку Chrome не позволяет xmlhttprequest запрашивать локальный файл. Итак, jquery не может загрузить ваш new.json

можете добавить

--allow-file-access-from-files

к команде запуска хрома. Это может позволить xmlhttprequest загрузить локальный ресурс

14.12.2012
  • Я делал другое приложение и напоминает мне о проблеме. Я попробовал, и да, теперь это работает, спасибо. 19.01.2013

  • 2

    Если вы используете 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.

    14.12.2012

    3

    Ваша проблема в ';' (точка с запятой) в файле JSON. В ответе JSON точка с запятой не нужна. Удалите, что ваш пример должен работать нормально!

    03.01.2013
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..