Получение данных из внешнего файла JSON

0

В настоящее время я использую JQuery для чтения внешнего файла.json, содержащего данные для слайд-шоу фотографий

фото-slideshow.json

 [ 
        {
            "title" : "my tile", 
            "image" : "xx.jpg", 
            "url" : "www.example.com",
            "firstline" : "woow", 
            "secondline" : "the weather is fine"
        },

       .....
       ..... 
    ]

    <script type="text/javascript" >
    var photos; 
    $.getJSON(
           "lang/en/photo-slideshow.json", 
            function(result) {
                    photos = result;
            }
       );
    <script>

Скрипт отлично работает на страницах, которые требуют больше времени для загрузки! При загрузке страниц очень быстро (например, 1 сек) json файл не t seem to be read completely and the slideshow doesn запускается.

Теги:
getjson

2 ответа

0

Я решил это! Я поместил эту строку в свой код: $.ajaxSetup({async: false}); благодаря

0

Вы инициализируете слайд-шоу после того, как обратный вызов json запущен?

Когда вы выполняете асинхронный вызов объекта json, ваша инициализация слайд-шоу должна быть в функции обратного вызова, запущенной getJson, чтобы убедиться, что у вас действительно есть данные под рукой, когда это необходимо.

Вы должны сделать что-то вроде этого:

$.getJSON('path/to/my.json',function(result){
    mySlideShowComponent.init(result);
})
  • 0
    асинхронный вызов не решил проблему.
  • 0
    асинхронный вызов не решил проблему. Слайд-шоу инициализируется после, но иногда начинается раньше, чем я получаю данные из файла json.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню