簡體   English   中英

Javascript 承諾:意外令牌 < 在 JSON 中 position 9

[英]Javascript Promises: Unexpected token < in JSON at position 9

我正在學習使用 javascript 進行異步編程。 我創建了一個 function 來獲取部分並嘗試將它們添加到首頁。 但我Unexpected token < in JSON at position 9

有什么建議么?

(function() {
    const sectionEl = document.getElementById('sections-left')
    const getSection = async (url) => {
        const response = await fetch(url)

        if (response.status === 200) {
            const data = await response.json()
            return data
        } else {
            throw new Error('Unable to get section')
        }
    }
    getSection(`https://www.somwebsite.com/private/shared/public_home_facts`).then((data) => {
        return getSection(`https://www.somwebsite.com/private/shared/public_home_about`)
    }).then((data) => {
        return getSection(`https://www.somwebsite.com/msg`)
    }).then((data) => {
        sectionEl.appendChild(data)
    }).catch((err) => {
        console.log(`Error: ${err}`)
    })
})()

意外令牌 < 在 JSON 中 position 9

此消息通常意味着服務器正在返回 HTML 而不是 JSON 以進行響應。

您可以通過獲取文本而不是 json 來確認這一點:

if (response.status === 200) {
        const data = await response.text()
        console.log(data);
        return data

這應該可以幫助您發現哪個調用沒有返回 JSON。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM