diff --git a/lib/edit/offlineFeaturesManager.js b/lib/edit/offlineFeaturesManager.js index a5e6812..56afa72 100644 --- a/lib/edit/offlineFeaturesManager.js +++ b/lib/edit/offlineFeaturesManager.js @@ -2120,15 +2120,25 @@ define([ { if( req.status === 200 && req.responseText !== "") { - var obj = JSON.parse(this.response); - callback(obj.addResults, obj.updateResults, obj.deleteResults); + try { + var obj = JSON.parse(this.response); + callback(obj.addResults, obj.updateResults, obj.deleteResults); + } + catch(err) { + errback("Unable to parse xhr response"); + } } + }; req.onerror = function(e) { console.log("_makeEditRequest failed: " + e); errback(e); }; + req.ontimeout = function() { + errback("xhr timeout error"); + }; + req.timeout = 15000; req.send(params); },