在使用get請求返回json值的過程中,有時候會遇到返回值為null的情況。造成這種情況的原因可能是多方面的,下面我們來逐一分析。
// 代碼示例 fetch(url, { method: 'GET', }) .then(response =>response.json()) .then(data =>console.log(data)) .catch(error =>console.error(error));
1. 后端返回值為null
這種情況比較容易出現(xiàn),因為后端在接口處理過程中可能會出現(xiàn)各種錯誤,導致返回值為null。
// 例如后端代碼如下 function getData() { if (err) { return null; } else { return someData; } }
2. 傳輸過程中數(shù)據(jù)類型錯誤
在get請求中,數(shù)據(jù)是通過url傳輸?shù)摹H绻趥鬏數(shù)倪^程中出現(xiàn)了數(shù)據(jù)類型錯誤,就可能會導致返回值為null。
// 例如代碼中傳輸?shù)膮?shù)數(shù)據(jù)類型不正確 const url = 'http://xxx.com/doSomething?param=' + {};
3. 返回值類型不是json
在使用fetch請求獲取數(shù)據(jù)時,需要通過response.json()方法將返回值轉化為json格式。如果返回值不是json格式,就會出現(xiàn)null的情況。
// 例如返回值為字符串 function doSomething() { return 'this is a string'; }
在實際開發(fā)中,遇到返回值為null的情況需要仔細分析。可以通過判斷返回值類型、檢查傳輸數(shù)據(jù)的數(shù)據(jù)類型或請求后端檢查等方式進行排查。
上一篇python 讀入并寫入
下一篇vue cli vant