0

帮助,当数据显示到 div 标签时,我想做循环,如下代码:

function GetDataFromServer() {

var url = "http://bertho.web.id/curl/services21/DataReadNP.php";
JSONP.get(url, {}, function(response){
    var listItem, container, dataList = document.getElementById("dataList"), str = "", str2 = "";
            for ( var i = 0; i < response.length; ++i ) {
                str += response[i].title;
                str2 += response[i].fetch_date;
            }

    listItem = document.createElement('div');
    listItem.setAttribute('data-bb-type', 'item');
    listItem.setAttribute('data-bb-img', 'images/icons/icon11.png');
    listItem.setAttribute('data-bb-title', str);
    listItem.innerHTML = str2;

    container = document.createElement('div');
    container.appendChild(listItem);

    bb.imageList.apply([container]);

    dataList.appendChild(container.firstChild);

    if (bb.scroller) {
        bb.scroller.refresh();
    }

});  

}

要将列表显示到屏幕上:

function dataOnTheFly() {
   document.getElementById('waiting').style.display = 'none';
   GetDataFromServer()  
}

我想要的数据显示在屏幕上,但不符合我想要的。请看下面的图片:

http://s13.postimage.org/68w2zfmh3/data_BB.png

我想列出这个数据循环,直到服务器上的所有数据都被取走。如何获得我想要的结果?

4

1 回答 1

1

提取问题中给出的 URL,您的数据如下所示:

"items": [
 {
  "id": "30",
  "judul": "KATY PERRY: PART OF ME",
  "img": "http:\/\/bertho.web.id\/curl\/21proses\/images\/r_134760931680781_100x147.jpg",
  "desk": "Sebuah dokumentasi tentang kehidupan Katy Perry diatas maupun diluar panggung. [More]",
  "web": "http:\/\/www.21cineplex.com\/",
  "fetch_date": "15-09-2012 20:10:23"
 }, 

这是一种JSON回应,而不是一种JSONP——它们是相似的,但又是不同的。我不确定您的JSONP功能是做什么的,所以我无法确切告诉您如何进行。

在某些时候,您需要JSON.parse()在收到的数据上运行。您的图书馆可能也可能不会为您执行此操作。如果typeof response === "string"那时还没有。

一旦你JSON解码到一个对象,那么它只是一个简单的循环问题

var items = response.items;
var l = items.length;
var i = 0;
var item;

for (i = 0; i < l; i++) {
  item = items[i];
  // Now you can do something with item
   listItem = document.createElement('div');
   listItem.setAttribute('data-bb-type', 'item');
   listItem.setAttribute('data-bb-img', item.img);
   listItem.setAttribute('data-bb-title', item.judul);
   // Don't forget to append listItem somewhere.
}
于 2012-09-15T17:30:24.570 回答