我正在进行Web服务调用并接收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服务,我不想复制所有检查,并设置默认值。有没有办法可以集中这些检查,以便我只将它们放在一个地方,而不是分散在几个页面中,每个页面都进行相同的服务调用?
由于
答案 0 :(得分:4)
将检查放在外部.js文件中的函数内,并将该脚本文件链接到进行Web服务调用的页面上。
在成功的AJAX响应中,调用传递responseText的函数(或从响应中解析的JavaScript对象),执行验证,并将带有默认值的响应返回给调用代码。
答案 1 :(得分: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;
}