From bce806e47a5807082ead43276a7a5e4e837870b0 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Mon, 13 Sep 2010 12:54:32 +0800 Subject: [PATCH] Pman.Request.js --- Pman.Request.js | 52 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/Pman.Request.js b/Pman.Request.js index a8dc6750..fc29e728 100644 --- a/Pman.Request.js +++ b/Pman.Request.js @@ -30,11 +30,61 @@ var t = new Pman.Request({ Pman.Request = function(config){ Pman.Request.superclass.constructor.call(this, config); - config.failure = typeof(config.failure) == 'undefined' ? this.failure : config.failure; this.request(config); } Roo.extend(Pman.Request, Roo.data.Connection, { + processResponse : function(response) { + + var res = ''; + try { + res = Roo.decode(response.responseText); + // oops... + if (typeof(res) != 'object') { + res = { success : false, errorMsg : res, errors : true }; + } + if (typeof(res.success) == 'undefined') { + res.success = false; + } + + } catch(e) { + res = { success : false, errorMsg : response.responseText, errors : true }; + } + return res; + }, + handleResponse : function(response){ + this.transId = false; + var options = response.argument.options; + response.argument = options ? options.argument : null; + this.fireEvent("requestcomplete", this, response, options); + + var res = this.processResponse(response); + + if (!res.success) { // error! + if (options.failure) { + // failure is handled... - do not show error.. + if (true === Roo.callback(options.failure, options.scope, [res, options])) { + return; + } + } + Roo.MessageBox.hide(); // hide any existing messages.. + Roo.MessageBox.alert("Error", res.errorMsg ? res.errorMsg : "Error Sending"); + return; + } + Roo.callback(options.success, options.scope, [res.data, options]); + + }, + handleFailure : function(response, e){ + this.transId = false; + var options = response.argument.options; + response.argument = options ? options.argument : null; + this.fireEvent("requestexception", this, response, options, e); + Roo.callback(options.failure, options.scope, [response, options]); + Roo.callback(options.callback, options.scope, [options, false, response]); + if (!options.failure) { + + } + } }); \ No newline at end of file -- 2.39.2