2016-12-22 64 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

好吧,我可以得到的翻譯:在我的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)'。和打印'console.log(response)'來查看它包含的內容。 – Garfield

回答

-2

如果你說你的預期返回類型是JSON - 只是將它設置爲innerHTML不夠。你需要一些模板引擎來從這個JSON生成內容。像underscore templating

+1

最有可能的是,'innerHTML'不是問題。 – Cerbrus

+1

如果我錯了,請糾正我,但我相信將HTML內容設置爲對象會導致它顯示爲字符串'[object Object]'。根據問題的措辭,似乎提問者在HTML中沒有得到任何輸出,所以Cerbrus認爲,「innerHTML」可能不是問題。 **編輯**:只是測試它;當使用'innerHTML'應用時,對象實際上顯示爲'[object Object]'。 –

+0

當我打開控制檯我得到'對象{數據:對象,狀態:200,狀態文本:「OK」,標題:對象,配置:對象...}''中的財產data.Object'返回 –