Использование jQuery для создания новых элементов списка в результате запроса JSON - PullRequest
0 голосов
/ 18 января 2012

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

<script type="text/javascript">
    $(document).ready(function() {
        $('a').click(function(e) {
            e.preventDefault();
            $.ajax({
                type: "GET",
                url: "@Url.Action("FetchMiniNoticiasFromPage", "Noticias")",
                data: "page=" + $(this).text(),
                dataType: "json",
                success: function (data) {
                    alert("fetched!"); 
                    //This is returning exactly what I want.

                    /*Object { ImagenChicaUrl="http://www.dss.com.bo/img/iniciopro/can01.JPG", Descripcion="Lista de Precios de Enero 2012.", FechaDePublicacion="/Date(1326859200000)/"}

1
    Object { ImagenChicaUrl="http://www.dss.com.bo/img/iniciopro/can01.JPG", Descripcion="Una neuvo proyecto en el sistema!", FechaDePublicacion="/Date(1326168000000)/"}

2
    Object { ImagenChicaUrl="http://www.dss.com.bo/img/iniciopro/can01.JPG", Descripcion="asdfasdfasdfasdf", FechaDePublicacion="/Date(1326081600000)/"}

3
    Object { ImagenChicaUrl="http://www.dss.com.bo/img/iniciopro/can01.JPG", Descripcion="qwefqwef", FechaDePublicacion="/Date(1325563200000)/"}

4
    Object { ImagenChicaUrl="http://www.dss.com.bo/img/iniciopro/can01.JPG", Descripcion="asdfasdf", FechaDePublicacion="/Date(1323057600000)/"} */
                },
                error: function (obj) {
                    alert("bad!");
                }
            });
        });
    });
</script>

Я хочу создать элемент li для каждого объекта, возвращаемого врезультат JSON:

<li>
    <img src="ImageChicaUrl" alt="@miniNoticia.Descripcion"/>
    <a href="#">FechaPublicacion</a>
    <p>Descripcion</p>
    <div class="horizontal-line" />
</li> 

Я не уверен, как перебирать каждый объект JSON, а затем обращаться к его переменным.Есть предложения?

1 Ответ

3 голосов
/ 19 января 2012

Попробуйте это

var $liContainer = $('div.images');
var data;//data returned from the ajax response
$.each(data, function(i, val){

   $liContainer.append('<li>' +
        '<img src="' + val.ImagenChicaUrl + '" alt="' + val.Descripcion + '"/>' +
        '<a href="#">' + val.FechaDePublicacion + '</a>' +
        '<p>' + val.Descripcion + '</p>' +
         '<div class="horizontal-line" />' +
    '</li>');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...