Вернуть JSON из вызова ajax в HTML div - PullRequest
0 голосов
/ 25 февраля 2019

Мой javascript-вызов ajax возвращает json, и я пытаюсь поместить его на страницу HTML.

Я использую этот код:

      success: function(response) {
        console.log(response);
        for (var i=0;i<response.length;++i)
        {
            $('#main').append('<div class="name">'+response[i].name+'</>');
        }
          },
          error: function(response) {
            alert(response);
          }
        });

Однако, похоже,распечатайте JSON на моей консоли просто отлично, но я ничего не возвращаю на сайт.

У меня есть div для сбора:

<div id="main">Test</div>

Есть идеи, где я ошибаюсь?

РЕДАКТИРОВАТЬ: Ответ журнала консоли таков:

{totalPages: 0, firstPage: true, lastPage: true, numberOfElements: 0, number: 0, …}
columns: {columnIds: Array(3)}
firstPage: true
lastPage: true
number: 0
numberOfElements: 0
oberonRequestXML: [null]
oberonResponseXML: [null]
summaryData: {totals: Array(3)}
totalElements: 0
totalPages: 0
__proto__: Object

1 Ответ

0 голосов
/ 25 февраля 2019

Как объяснено в комментариях, ваш ответ JSON не является массивом - здесь нет свойства length, поэтому ваш цикл не зацикливается.Более того, вы, похоже, ожидаете массив с объектами, которые имеют атрибут name.Это нигде не видно в полученном вами ответе.

Предполагая, что вы вызываете правильную службу JSON, единственная информация, которую вы можете перебрать, хранится в двух атрибутах: columns.columnIds и summaryData.totals.Таким образом, вы получите что-то , если закодируете это так:

console.log(response);
for (var i=0;i<response.columns.columnIds.length;++i) {
    $('#main').append('<div class="name">'
                 + response.columns.columnIds[i] 
                 + ': '
                 + response.summaryData.totals[i] + '</div>');
}

Это предполагает, что эти значения являются примитивными значениями, что не ясно из полученного вами ответа.

Но опять же, это не будет выводить name значения свойств, поскольку они не отображаются в вашем JSON, насколько это видно в вашем вопросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...