2009-10-08 110 views
0

我正在進行Web服務調用並接收JSON格式的響應。收到回覆後,我想在頁面中顯示數據。在我在頁面上顯示這些數據之前,我需要執行檢查以確保定義了某些元素,並且如果不給予它們默認值(下面的示例)。驗證/清理JSON數據

var scoreSummary = JSON.parse(response).summary; 
var gameStatus = scoreSummary.gameStatus ? scoreSummary.gameStatus : 'pre'; 
var homeRanking = scoreSummary.homeRank ? scoreSummary.homeRank : ''; 
var awayRanking = scoreSummary.awayRank ? scoreSummary.awayRank : '' 

現在我有幾頁,我可以把這個相同的Web服務,我不想重複所有的檢查,和默認值的設置。有沒有一種方法可以將這些檢查集中起來,以便我只將它們放在一個地方,而不是分散在幾個頁面中,每個頁面都可以進行相同的服務調用?

感謝

回答

4

像,函數調用?

function setDefaultValues(jsonResponse) { 
    var scoreSummary = JSON.parse(jsonResponse).summary; 
    scoreSummary.gameStatus = scoreSummary.gameStatus || 'pre'; 
    scoreSummary.homeRank = scoreSummary.homeRank || ''; 
    scoreSummary.awayRank = scoreSummary.awayRank || ''; 
    return scoreSummary; 
} 
4

把檢查函數內部在外部.js文件和鏈接,使Web服務調用的頁面腳本文件。

對於成功的AJAX響應,請調用傳遞給responseText(或從響應中解析出的JavaScript對象)的函數,執行驗證,並將具有默認值的響應返回給調用代碼。

+0

嗯,這就是我的意思。 :-) +1 – Tomalak 2009-10-08 12:21:28

+0

@Tomalak - 我打算編寫代碼,但現在你已經爲你+1了:) – 2009-10-08 12:23:09