使用 React 時,當我嘗試從 API 獲取資料時,我不斷收到 SyntaxError:JSON.parse 。在使用不同的 API 時,我能夠很好地獲取資料。
我在這里做錯了什么?說到 API,我是一個完全的新手,所以如果這是一個愚蠢的問題,請不要挖苦我:D
const API_URL = 'www.themealdb.com/api/json/v1/1/search.php?s=Arrabiata';
const getMealRequest = async()=>{
const response = await fetch(API_URL)
const data = await response.json()
console.log(data)
}
useEffect(()=>{
getMealRequest()
},[])
uj5u.com熱心網友回復:
您的 API 呼叫存在與此問題無關的錯誤。在失敗的情況下,您沒有try/cath使用getMealRequestso實作塊,這response不是要決議的有效物件,并且您會收到上述錯誤。
要解決它:
const getMealRequest = async () => {
try {
const response = await fetch('https://www.themealdb.com/api/json/v1/1/search.php?s=Arrabiata'
)
const data = await response.json()
console.log(data)
} catch (error) {
console.log(error)
}
}
現在檢查您的控制臺,看看您的 API 呼叫有什么問題。此外,您可以檢查網路選項卡以獲取有關呼叫的請求和回應的更多詳細資訊API_URL。
uj5u.com熱心網友回復:
const API_URL = 'https://www.themealdb.com/api/json/v1/1/search.php?s=Arrabiata';
const getMealRequest = async() => {
const response = await fetch(API_URL)
const data = await response.json()
console.log(data)
}
getMealRequest()
您忘記https://在地址之前包含 protocol: incude它將起作用:
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/343487.html
