[Nagvis-checkins] SF.net Git: nagvis: Removed error prefix in ajax responses
Brought to you by:
larsi-
From: lars <la...@us...> - 2011-08-24 21:17:36
|
Author: Lars Michelsen <lm...@la...> Date: Wed Aug 24 22:54:53 2011 +0200 Committer: Lars Michelsen <lm...@la...> Commit-Date: Wed Aug 24 22:54:53 2011 +0200 Removed error prefix in ajax responses --- TODO | 1 + share/frontend/nagvis-js/js/ajax.js | 33 ++++++++----------------- share/server/core/ajax_handler.php | 2 +- share/server/core/classes/CoreExceptions.php | 2 +- 4 files changed, 14 insertions(+), 24 deletions(-) diff --git a/TODO b/TODO index fb63118..0a86cb9 100644 --- a/TODO +++ b/TODO @@ -43,6 +43,7 @@ Relative Koordinaten: - Main Config Zugriff über kürzere Aufrufe. Beispiel: $CORE->cfg('', ''); - Weathermap Linien Perfdata Berechnungen nach check_command aufräumen - MapCfg Config Array aufräumen +- ajax Funktionen aufräumen/konsolidieren *** Linien (Auch für neue Automap wichtig!) *** diff --git a/share/frontend/nagvis-js/js/ajax.js b/share/frontend/nagvis-js/js/ajax.js index 265d5b4..8352888 100644 --- a/share/frontend/nagvis-js/js/ajax.js +++ b/share/frontend/nagvis-js/js/ajax.js @@ -173,12 +173,10 @@ function getAsyncRequest(sUrl, bCacheable, callback, callbackParams) { // Error handling for the AJAX methods if(responseText.match(/^Notice:|^Warning:|^Error:|^Parse error:/)) { phpError(responseText); - } else if(responseText.match(/^NagVisError:/)) { - frontendMessage(eval('( '+responseText.replace(/^NagVisError:/, '')+')')); } else { // Handle responses of json objects - including eval and wron response // error handling and clearing - var oResponse = handleJsonResponse(sUrl, responseText) + var oResponse = handleJsonResponse(sUrl, responseText); if(oResponse) callback(oResponse, callbackParams); @@ -239,7 +237,7 @@ function getSyncRequest(sUrl, bCacheable, bRetryable) { if(responseText !== '') { // Handle responses of json objects - including eval and wron response // error handling and clearing - sResponse = handleJsonResponse(sUrl, responseText) + sResponse = handleJsonResponse(sUrl, responseText); } else { // Remove the invalid code from cache cleanupQueryCache(sUrl); @@ -281,23 +279,12 @@ function getSyncRequest(sUrl, bCacheable, bRetryable) { // Error handling for the AJAX methods if(responseText.match(/^Notice:|^Warning:|^Error:|^Parse error:/)) { phpError(responseText); - } else if(responseText.match(/^NagVisError:/)) { - responseText = responseText.replace(/^NagVisError:/, ''); - var oMsg = eval('( '+responseText+')'); - - // Handle application message/error - // FIXME: Param2: 30 and the message will be shown for maximum 30 seconds - frontendMessage(oMsg); - oMsg = null; - - // Clear the response - sResponse = ''; } else { // Handle responses of json objects - including eval and wron response // error handling and clearing sResponse = handleJsonResponse(sUrl, responseText) - if(sResponse !== null && bCacheable) { + if(sResponse !== '' && bCacheable) { // Cache that answer (only when no error/warning/...) updateQueryCache(url, timestamp, responseText); } @@ -317,17 +304,22 @@ function getSyncRequest(sUrl, bCacheable, bRetryable) { function handleJsonResponse(sUrl, responseText) { try { - sResponse = eval('( '+responseText+')'); + oResponse = eval('( '+responseText+')'); frontendMessageRemove('jsonError'); - return sResponse; } catch(e) { jsonError("Invalid json response:\nTime:" + iNow + "\nURL: " + sUrl + "\nResponse: " + responseText); return ''; } - if(typeof(sResponse) !== 'object') { + if(typeof(oResponse) !== 'object') { jsonError("Invalid json response:\nTime:" + iNow + "\nURL: " + sUrl + "\nResponse: " + responseText); return ''; + } else { + if(isset(oResponse.type) && isset(oResponse.message)) { + frontendMessage(oResponse); + return ''; + } + return oResponse; } } @@ -427,9 +419,6 @@ function postSyncRequest(sUrl, sParams) { oResponse.type = 'CRITICAL'; oResponse.message = "PHP error in ajax request handler:\n"+responseText; oResponse.title = "PHP error"; - } else if(responseText.match(/^NagVisError:/)) { - responseText = responseText.replace(/^NagVisError:/, ''); - oResponse = eval('( '+responseText+')'); } else { // Handle invalid response (No JSON format) try { diff --git a/share/server/core/ajax_handler.php b/share/server/core/ajax_handler.php index ceac0a1..7204b1f 100644 --- a/share/server/core/ajax_handler.php +++ b/share/server/core/ajax_handler.php @@ -65,7 +65,7 @@ try { } catch(NagVisException $e) { echo $e; } catch(Exception $e) { - echo 'NagVisError:'.json_encode(Array( + echo json_encode(Array( 'type' => 'error', 'message' => $e->getMessage(), 'title' => l('ERROR - Unexpected exception'), diff --git a/share/server/core/classes/CoreExceptions.php b/share/server/core/classes/CoreExceptions.php index a25e308..cc89c64 100644 --- a/share/server/core/classes/CoreExceptions.php +++ b/share/server/core/classes/CoreExceptions.php @@ -44,7 +44,7 @@ class NagVisException extends Exception { } function __toString() { - return 'NagVisError:'.json_encode($this->e); + return json_encode($this->e); } } |