Проверка / очистка данных JSON - PullRequest
0 голосов
/ 08 октября 2009

Я звоню через веб-сервис и получаю ответ в формате 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 : ''

Теперь у меня есть несколько страниц, где я могу вызвать этот же веб-сервис, и я не хочу дублировать все проверки и установку значений по умолчанию. Есть ли способ, которым я могу централизовать эти проверки, чтобы они были только в одном месте, а не разбросаны по нескольким страницам, каждая из которых выполняет один и тот же вызов службы?

Спасибо

Ответы [ 2 ]

4 голосов
/ 08 октября 2009

Как, например, вызов функции?

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 голосов
/ 08 октября 2009

Поместите проверку внутри функции во внешний файл .js и свяжите этот файл скрипта со страницами, которые вызывают Web-сервис.

В случае успешного ответа AJAX вызовите функцию, передающую текст responseText (или объект JavaScript, проанализированный из ответа), выполните проверку и верните ответ со значениями по умолчанию обратно в вызывающий код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...