if(method === "PUT"){ url = this._getPutUrl(item); }else if(method === "DELETE"){ url = this._getDeleteUrl(item); }else{ // POST url = this._getPostUrl(item); } if(!url){ if(keywordArgs.onError){ keywordArgs.onError.call(scope, new Error("No URL for saving content: " + postContent)); } return; } var saveArgs = { url: url, method: (method || "POST"), contentType: "text/xml", handleAs: "xml" }; var saveHander; if(method === "PUT"){ saveArgs.putData = this._getPutContent(item); saveHandler = dojo.rawXhrPut(saveArgs); }else if(method === "DELETE"){ saveHandler = dojo.xhrDelete(saveArgs); }else{ // POST saveArgs.postData = this._getPostContent(item); saveHandler = dojo.rawXhrPost(saveArgs); } var scope = (keywordArgs.scope || dojo.global); var self = this; saveHandler.addCallback(function(data){ self._forgetItem(item); if(keywordArgs.onComplete){ keywordArgs.onComplete.call(scope); } }); saveHandler.addErrback(function(error){ if(keywordArgs.onError){ keywordArgs.onError.call(scope, error); } });