Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        5年前关闭。
                                                                                            
                
        
这是我的代码:

var readAll = function () {
    $.ajax(
            {
                url: _spPageContextInfo.webServerRelativeUrl +
                    "/_api/web/lists/getByTitle('PhoneBook')/items/" +
                    "?$select=Id, Title, pb_FirstName, pb_PhoneNumber" +
                    "&$orderby=Title,pb_FirstName, pb_PhoneNumber",
                type: "GET",
                headers: {
                    "accept": "application/json;odata=verbose",
                },
                success: function (data) {
                    console.log(data);
                },
                error: function (err) {
                    alert(JSON.stringify(err));
                }
            }
        );
};


$(document).ready(function () {
    readAll();
});

$.get("https://-b55afdb7c2a3eb.sharepoint.com/sites/ak-dev/PhoneBookApp2")

function readList(data) {

    data = {
        "d": {
            "results": [{
                "__metadata": {
                    "id": "b4d773a6-f31e-442d-8974-38c535d491d6",
                    "uri": "https://-b55afdb7c2a3e6.sharepoint.com/sites/ak-dev/PhoneBookApp2/_api/Web/Lists(guid'1643df56-9c0c-41d8-8460-746c0490b234')/Items(1)",
                    "etag": "\"1\"",
                    "type": "SP.Data.LST_x005f_PhoneBookListItem"
                },
                "Id": 1,
                "Title": "name111111",
                "pb_FirstName": "name",
                "pb_PhoneNumber": "1234",
                "ID": 1
            }]

        }
    }

    var html = [];

    data = data.d.results;
    for (var i = 0; i < data.d.results; i++) {
        tr = $('<tr/>');
        tr.append("<td>" + data[i].ID + "</td>");
        tr.append("<td>" + data[i].Title + "</td>");
        tr.append("<td>" + data[i].pb_FirstName + "</td>");
        tr.append("<td>" + data[i].pb_PhoneBook + "</td>");
        $('table').append(tr);
    }

    html.push("</table>");
    $('.table').html(html.join(''));
}

$.get("https://-b55afdb7c2a3eb.sharepoint.com/sites/ak-dev/PhoneBookApp2")
.success(function (response) {
    $('.table').append('<tr><td>Id</td></tr><tr><td>Title</td></tr><tr><td>Last Name</td></tr><tr><td>Phone</tr><')
})
.error(function (err) {
    alert(JSON.stringify(err));
});


那么,如何获取数据并与HTML一起构建字符串并将其放在HTML表中?我希望你能帮助我。我用for循环抓取数据对吗?

我忘了说我有一个列表,我在其中保存数据。我的目标是在html表中呈现数据。上面的代码不起作用。

最佳答案

尝试这个:

data = data.d.results;

var _table = $('<table/>');
for (var i in data) {
    tr = $('<tr/>');
    tr.append("<td>" + data[i].Id + "</td>"); // WARNING! You wrote ID instead of Id
    tr.append("<td>" + data[i].Title + "</td>");
    tr.append("<td>" + data[i].pb_FirstName + "</td>");
    tr.append("<td>" + data[i].pb_PhoneBook + "</td>");
    tr.appendTo(_table);
}


然后你可以做

_table.appendTo( <<Some Selector>> );


当然,如果[table]元素已经存在,则只需在其后附加[tr]。

编辑
用jQuery的for代替de $.each()循环会很棒。例如:

$.each(data, function() {
  // Do each row stuff here..
  // Data is accesible like this:
  //       this.Id or this.Title
});

07-25 21:43
查看更多