2009-10-08 88 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