Ajax路径适用于一个数组,但不适用于另一个数组

时间:2019-01-28 17:00:45

标签: javascript jquery ajax

我正在尝试从ajax获取请求中提取数据。我可以访问Fields数组的路径,但不能访问DocImage数组。当我运行DocImage路径时,我得到

jquery.min.js:2 jQuery.Deferred exception: f.DocImage.map is not a 
function TypeError: f.DocImage.map is not a function 

这是我的Fields路径的代码,可以正常工作。出于保密原因,我无法显示URL。

 $("#btn").click(function() {
    $.ajax({
      url:
        "",
      method: "get",
      async: true,
      DataType: "application/json"
    })
    .then(function(data) {
      console.log(data);

      document.getElementById("test").innerHTML = data
        .map(function(f) {
          console.log(f);
          return f.Fields.map(function(e) {
            console.log(e);
            return "<p>" + e.DisplayName + ": " + e.DataValue + "</p>";
          }).join("<br/>");
        })
        .join("<br/>");
    });
  });

在这里,我切换DocImage的字段。那就是我得到的错误。

 $("#btn").click(function() {
    $.ajax({
      url:
        "",
      method: "get",
      async: true,
      DataType: "application/json"
    })
    .then(function(data) {
      console.log(data);

      document.getElementById("test").innerHTML = data
        .map(function(f) {
          console.log(f);
          return f.DocImage.map(function(e) {
            console.log(e);
            return "<p>" + e.sfFilename + "</p>";
          }).join("<br/>");
        })
        .join("<br/>");
    });
  });

这是控制台显示的数据。

{Fields: Array(8), DocImage: {…}}
DocImage: {sfKey: 4, sfScanIndex: 4, sfFilename: 
"\\"IPAddress"\images\2019-01\16\12896\0000\thisisapdffile.pdf}
Fields: (8) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
__proto__: Object

1 个答案:

答案 0 :(得分:2)

这是您可能已经通过注释解决的答案。

问题

DocImage是对象,而map函数不适用于对象。

解决方案

Uncaught Error: [$injector:nomod] Module 'angular-meteor' is not available! 
You either misspelled the module name or forgot to load it. 
If registering a module ensure that you specify the dependencies as the second argument.