在前端開發(fā)中,我們經(jīng)常需要從后臺(tái)服務(wù)器獲取JSON數(shù)據(jù)。而axios是一個(gè)廣泛使用的JavaScript庫,可以讓我們輕松地發(fā)起網(wǎng)絡(luò)請(qǐng)求并獲取響應(yīng)。
有時(shí)候,我們可能會(huì)遇到JSON數(shù)據(jù)被包裹的情況。這意味著從服務(wù)器返回的JSON數(shù)據(jù)不是一個(gè)簡(jiǎn)單的JSON對(duì)象,而是一個(gè)包含JSON數(shù)據(jù)的包裝器對(duì)象。在這種情況下,我們需要先解析JSON數(shù)據(jù),然后才能訪問其內(nèi)容。
{ "code": 200, "data": { "name": "John Smith", "email": "john@example.com", "phone": "555-555-1234" } }
在上面的示例中,我們可以看到數(shù)據(jù)被包裹在一個(gè)對(duì)象中,其中包括一個(gè)代表響應(yīng)狀態(tài)的“code”字段和一個(gè)代表JSON數(shù)據(jù)的“data”字段。
為了解析這種類型的數(shù)據(jù),我們需要使用axios的“then”方法來處理響應(yīng)并提取數(shù)據(jù):
axios.get('/api/users') .then(response =>{ const data = response.data.data; // Do something with the data... }) .catch(error =>{ console.error(error); });
在上面的代碼中,我們指定了“response.data.data”作為返回的JSON數(shù)據(jù)的位置。這將返回一個(gè)不包含包裝器的JSON對(duì)象,其中包括我們需要的數(shù)據(jù)。
總之,使用axios的“then”方法處理被JSON包裹的數(shù)據(jù)需要一些額外的步驟,但仍然是一種簡(jiǎn)單且可靠的方式來從后臺(tái)服務(wù)器獲取JSON數(shù)據(jù)。