无法使用JavaScript定位可见数据

时间:2019-02-06 21:25:27

标签: javascript jquery html

在控制台日志中,我看到了需要定位的数据,但根本无法拉入。

代码:

for (var i = 0; i < data.Files.length; i++) {
  filesList += "<div><ol><li>Name: " + data.Name + " - " + data.ServerRelativeUrl + " </li></ol></div>";
}
function getFilesFolders(title) {
  var filter = "Name eq '" + title + "'";
  var filesList = "";

  $pnp.setup({
    baseUrl: "https://fh126cloud.sharepoint.com/bdm/business-development/"
  });

  $pnp.sp.web.folders.getByName('Completed Submissions').folders.filter(filter).expand("Files").get().then(function(data) {
    // Displays results on debugger console  
    for (var i = 0; i < data.Files.length; i++) {
      filesList += "<div><ol><li>Name: " + data.Files[i].Name + " - " + data.ServerRelativeUrl + " </li></ol></div>";
    }

    console.log(data);

    var modalHTML = '<div id="modal"' + object[i].TileOrder + ' class="modal fade" role="dialog">' +
      '<div class="modal-dialog modal-lg">' +
      <!-- Modal content-->
      '<div class="modal-content">' +
      '<div class="modal-header">' +
      '<button type="button" class="close" data-dismiss="modal"><div id="x">&times;</div></button>' +
      '<h4 class="modal-title">' + title + '</h4>' +
      '</div>' +
      '<div class="modal-body" id="modal"' + object[i].TileOrder + '"body">' +

      '</div>' +
      '<div class="modal-footer">' +
      '<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>' +
      '</div>' +
      '</div>' +
      '</div>' +
      '</div>';
  }).catch(function(data) {
    console.log(data);
  });

enter image description here

对象“名称”存在于0>文件> 0>名称上。

enter image description here

3 个答案:

答案 0 :(得分:0)

尝试一下:

for(var i=0; i < data.Files.length; i++){  
            filesList += "<div><ol><li>Name: " + data.Files[i].Name + " - " + data.ServerRelativeUrl + " </li></ol></div>";
        }

答案 1 :(得分:0)

数据和文件都是数组,需要指定索引。

data = [{Exists: true}, {Files: [{Check: "", Name: "abc"},{Check: "", Name: "gfd"},{Check: "", Name: "def"}]}];

for (i = 0 ; i < data[1].Files.length; i ++ ) {
    console.log(data[1].Files[i].Name);
}

答案 2 :(得分:0)

要通过此数组循环,请尝试for(var i=0; i < data[0].length; i++)

我不认为data.Name存在于data数组中。看来data数组仅包含一个成员,即Files数组。这就是为什么它没有定义的原因。

此外,我在https://www.w3schools.com/js/js_arrays.asp

上找到了快速参考
  

JavaScript不支持带有命名索引的数组。在JavaScript中,   数组始终使用编号索引。

这是要考虑或记住的事情。

您可以发布任何控制台错误吗?