在Web開(kāi)發(fā)中,我們通常會(huì)向服務(wù)器發(fā)送請(qǐng)求獲取數(shù)據(jù),而數(shù)據(jù)常常以JSON格式返回。當(dāng)我們?cè)诳蛻?hù)端接收到JSON數(shù)據(jù)后,需要將其解析并顯示在網(wǎng)頁(yè)上。此時(shí),JavaScript中的callback函數(shù)就可以派上用場(chǎng)了。
callback函數(shù)通常會(huì)作為參數(shù)傳入一個(gè)HTTP請(qǐng)求,并在請(qǐng)求成功獲取數(shù)據(jù)后被調(diào)用。我們可以在callback函數(shù)中對(duì)獲取的JSON數(shù)據(jù)進(jìn)行處理,并將處理后的結(jié)果顯示在網(wǎng)頁(yè)上。
下面是一個(gè)簡(jiǎn)單的例子:
function getData(callback) { var xhr = new XMLHttpRequest(); xhr.open('GET', 'https://example.com/data.json'); xhr.onload = function() { if (xhr.status === 200) { callback(JSON.parse(xhr.responseText)); } }; xhr.send(); } getData(function(data) { var result = ''; for (var i in data) { result += '
在這個(gè)例子中,我們定義了一個(gè)名為getData的函數(shù),并將一個(gè)callback函數(shù)作為參數(shù)傳入。在getData函數(shù)內(nèi)部,我們使用XMLHttpRequest對(duì)象向服務(wù)器發(fā)送GET請(qǐng)求。當(dāng)請(qǐng)求成功獲取數(shù)據(jù)后,我們調(diào)用傳入的callback函數(shù),并將JSON字符串解析為JavaScript對(duì)象作為參數(shù)傳入。
callback函數(shù)中,我們對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的處理,并將處理后的結(jié)果插入到id為list的HTML元素中。
總之,使用callback函數(shù)可以非常方便地獲取和處理JSON數(shù)據(jù)。在實(shí)際開(kāi)發(fā)中,我們常常會(huì)使用jQuery等庫(kù)來(lái)處理HTTP請(qǐng)求和JSON數(shù)據(jù),但掌握基本的callback函數(shù)用法也是非常重要的。