Ajax-путь работает для одного массива, но не для другого - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь получить данные из запроса на получение 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 

Вот мой код для пути Поля, который работает.Из соображений конфиденциальности я не могу отобразить 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 голосов
/ 28 января 2019

Вот ответ, который вы, возможно, уже решили из комментариев.

Задача

DocImage - объект, и функция карты не работает для объектов.

Решение

 $("#btn").click(function() {
        $.ajax({
          url:"",
          method: "get",
          async: true,
          DataType: "application/json"
        })
        .then(function(data) {
         document.getElementById("test").innerHTML = data
            .map(function(f) {
              console.log(f);
              return "<p>" + f.DocImage.sfFilename + "</p>";
            })
            .join("<br/>");
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...