2016-10-13 3 views
1

Я пытаюсь получить конкретную информацию из файла JSON (Squarespace) с целью добавления его к <div>. Мне нужно прокрутить данные и получить местоположение из каждого сообщения. Это код, я использую:Цитирование через данные JSON с использованием jQuery

$.getJSON("http://www.theluxedit.com/?format=json-pretty", function(data) { 
    $.each(data, function(index, value) { 
     $('.locationData').append(data.items.location.addressLine2); 
    }); 
}); 

Он будет работать только тогда, когда я specifiy элемент, используя целое число, например:

$('.locationData').append(data.items[1].location.addressLine2); 

Это, кажется, работает для других примеров, которые я попробовал, может быть, я ошибаюсь в конкатенации JSON?

ответ

2

Этот вопрос нужно перебирать самих элементов, а не всего объекта, возвращенного:

var $locationData = $('.locationData'); 
$.getJSON("http://www.theluxedit.com/?format=json-pretty", function(data) { 
    $.each(data.items, function(index, item) { 
     $locationData.append(getLocationEl(item.location.addressLine2));  
    }); 
}); 

function getLocationEl(address) { 
    return $('<div>', { text: address }); 
} 

Делая это, каждая итерация будет выглядеть на другой предмет. Затем вы можете напрямую обращаться к свойствам этого элемента, а не к возвращаемым данным верхнего уровня.

Кроме того, я предполагаю, что это выполняется на theluxedit.com. В противном случае вы получите сообщение об ошибке. См. Это для получения дополнительной информации: "No 'Access-Control-Allow-Origin' header is present on the requested resource"

+0

Как комментарий в стороне, его неэффективность, чтобы выполнить полный поиск DOM для класса внутри цикла. Сохраните результат в переменной перед циклом и используйте ссылку. –

+0

Отличная точка! Спасибо. Обновлено сообщение, чтобы отразить комментарий. – akosel

+0

Обновлен ответ. Если вы хотите, чтобы текст находился на отдельных строках, это работает хорошо. Вы также можете использовать пролет вместо div. Кроме того, вы можете просто скопировать все значения и добавить их в виде списка, разделенного запятыми, в одной строке. – akosel

Смежные вопросы