2016-12-22 6 views
0

Я использую Axios для получения информации из API. Axios соединяет и возвращает объект с правильной информацией, однако мне трудно получить возвращенный JSON и сделать его отображаемым в моем HTML-коде.Возвращение JSON в

Мой код:

<body>  
    <script type="text/javascript"> 
     axios.get('http://localhost:3000/boxmac').then(function (response) { 
      console.log(response); 
      document.getElementById('lol').innerHTML = response.Object; 
     }).catch(function (error) { 
      console.log(error); 
     }); 
    </script> 
    <p id="lol"></p> 
</body> 

В этот момент я был бы счастлив, если он высыпал все содержимое БД (все 168 строк и более 1000 элементов) в HTML. Я бы хотя бы знал, что я где-то.

На этом этапе я получаю ответ от console.log (ответ) (я думаю). она возвращает

Object {data: Object, status: 200, statusText: "OK", headers: Object, config: Object…} 

Моя проблема заключается в поиске того, что мне нужно использовать, чтобы сделать содержимое объекта JSON появляться в HTML

Ok я могу получить [объект Object] вернулся в моем HTML. теперь как мне получить его для возврата информации в Object.

Переход по дереву в консоли требует навигации:

Object => Object => macdb => [0 ... 99 ] => Object 

Прогресс! с использованием

document.getElementById('lol2').innerHTML = res.data.macdb; 

У меня есть тон [объекта объекта] в HTML, теперь мне просто нужен контент в этом объекте.

+4

Итак, что означает 'response'? – Cerbrus

+1

И что * делает * или не делает? – deceze

+1

Используйте 'response = JSON.parse (response)', если ваш тип ответа является строкой. и print 'console.log (response)', чтобы увидеть, что он содержит. – Garfield

ответ

-2

Если вы сказали, что ваш ожидаемый возвращаемый тип - JSON, просто установите его на innerHTML. Для создания контента из этого JSON вам нужен механизм шаблонов. Мне нравится underscore templating.

+1

Скорее всего, 'innerHTML' не проблема. – Cerbrus

+1

Исправьте меня, если я ошибаюсь, но считаю, что настройка содержимого HTML на объект приводит к тому, что он выглядит как строка '[object Object]'. Основываясь на том, как сформулирована проблема, похоже, что ассер не получает каких-либо результатов в HTML, поэтому, как предложил Сербрус, 'innerHTML', скорее всего, не проблема. ** РЕДАКТИРОВАТЬ **: просто проверить его; Объекты фактически отображаются как '[object Object]' при применении с использованием 'innerHTML'. –

+0

Когда я открываю Консоль, я получаю 'Object {data: Object, status: 200, statusText:" OK ", headers: Object, config: Object ...}' –

Смежные вопросы