From 1ff7e72eef907523a3e2a2ae85e5487841fd15f7 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Tue, 22 Feb 2011 18:08:43 -0800 Subject: [PATCH] bug 8450: handle invalid JSON string returned by API call. --- ui/scripts/cloud.core.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/ui/scripts/cloud.core.js b/ui/scripts/cloud.core.js index 8ac5ec8eef3..d27ecca5e73 100644 --- a/ui/scripts/cloud.core.js +++ b/ui/scripts/cloud.core.js @@ -1222,18 +1222,33 @@ function handleErrorInDialog2(errorMsg, $thisDialog) { $infoContainer.show(); } -function parseXMLHttpResponse(XMLHttpResponse) { - var json = jQuery.parseJSON(XMLHttpResponse.responseText); +function parseXMLHttpResponse(XMLHttpResponse) { + if(isValidJsonString(XMLHttpResponse.responseText) == false) { + return ""; + } + + //var json = jQuery.parseJSON(XMLHttpResponse.responseText); + var json = JSON.parse(XMLHttpResponse.responseText); if (json != null) { var property; for(property in json) {} var errorObj = json[property]; return fromdb(errorObj.errortext); } else { - return null; + return ""; } } +function isValidJsonString(str) { + try { + JSON.parse(str); + } + catch (e) { + return false; + } + return true; +} + function showLeftNavigationBasedOnRole() { if (isAdmin()) { $("#leftmenu_domain, #leftmenu_account, #leftmenu_configuration, #leftmenu_system, #leftmenu_alert_container, #launch_test").show();