iT邦幫忙

0

想詢問串接api fetch回傳的部分

  • 分享至 

  • xImage

不好意思問題比較菜!
在網路上試著做api串接時 他們示範都是使用console.log去輸出在console那邊
輸出的結果沒問題

但我改成輸出在網頁上時 會顯示出[object Object
請問如果想將api回傳的結果顯示在html上 要如何使用
這是html的程式碼
https://ithelp.ithome.com.tw/upload/images/20220407/20147201TArOVu8fZR.jpg
這是js的
https://ithelp.ithome.com.tw/upload/images/20220407/20147201abBGbW2A5Z.jpg
這是顯示的網頁 按下submit之後會出現這個 要如何取的物件內的文字並顯示出來
https://ithelp.ithome.com.tw/upload/images/20220407/20147201bC3XQ5aBPm.jpg
另外 在console正常輸出的地方會長這樣
https://ithelp.ithome.com.tw/upload/images/20220407/20147201RQHT0TnvwU.jpg

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
淺水員
iT邦大師 6 級 ‧ 2022-04-07 20:30:01
最佳解答

簡答

document.getElementById('resultText').innerHTML = JSON.stringify(quote);

參考

JSON.stringify

補充

因為 innerHTML 必須被設定為一個字串,而 quote 本身不是字串
遇到這種情形,程式會看看有沒有預設的轉換為字串的方法(toString)
因為 quote 的資料型態是 Object,所以預設就會變成 [object Object] 這樣的字串了

toString 有一些應用,例如下面這例子

var myName={
    firstName: 'aaa',
    lastName: 'bbb',
    toString: function() {
        return this.firstName + ' ' + this.lastName
    }
};

console.log('my full name is ' + myName);

了解了 謝謝你!
另外想請問 我能夠更改傳送過來的api內容嗎
現在可以顯示出來了 但想做到換行等等

淺水員 iT邦大師 6 級 ‧ 2022-04-07 21:16:58 檢舉

JSON.stringify 輸出就是一個字串
他有其他參數,讓輸出的排版比較好看

但還要注意換行字元在 span 裡面會當作空白處理
所以還要透過以下其中一個方式處理(擇一)

  1. \n 取代成 <br>
  2. 把 span 改成 pre
  3. 修改 span 的 css 讓他遇到 \n 會換行

我要發表回答

立即登入回答