Javascript 何时应该使用dojo.data.ItemFileWriteStore';s_saveEverything功能?
我使用的是Dojo1.6版本。我的理解是:if store.\u saveEverything=saveCompleteCallback;如果已定义,那么调用store.save()时是否仅调用回调函数saveCompleteCallbackJavascript 何时应该使用dojo.data.ItemFileWriteStore';s_saveEverything功能?,javascript,dojo,Javascript,Dojo,我使用的是Dojo1.6版本。我的理解是:if store.\u saveEverything=saveCompleteCallback;如果已定义,那么调用store.save()时是否仅调用回调函数saveCompleteCallback 我是否需要使用回调函数saveCompleteCallback(saveSuccess,saveFail,storeData)中定义的1st和2nd参数?因为我只知道在调用store.save({onComplete:saveSuccess,onError
我是否需要使用回调函数saveCompleteCallback(saveSuccess,saveFail,storeData)中定义的1st和2nd参数?因为我只知道在调用store.save({onComplete:saveSuccess,onError:saveFail})时需要使用它们。首先,我只在需要dojox.data.dataGrid的数据时才使用saveEverything 假设您定义了:store.\u saveEverything=saveCompleteCallback 我刚刚发现,包括saveCompleteCallback的第一个和第二个参数(saveSuccess、saveFail、storeData)是必要的,因为需要在saveCompleteCallback()中再次调用一个额外的saveSuccess()和saveFail()函数。e、 g
// When you wanna upload datagrid, you click upload button
Store.save({ onComplete : saveSuccess, onError : saveFail });
// Definition of saveCompleteCallback
function saveCompleteCallback(saveSuccess, saveFail, storeData) {
dojo.xhrpost(
url: posturl,
postData:storeData,
load: function(data) {
// saveSuccess() must be invoked here again,
// otherwise this function will not be called
saveSuccess();
}
);
}
function saveSuccess() {
dataGrid = dijit.byId('YOUR DATAGRID ID');
dojo.xhrGet(
url: geturl,
load: function(date){
// The reason that a new xhrGet is called is db data is updated
// So the dataGrid will have no value after xhrPost
var store = new dojo.data.ItemFileWriteStore({data: data});
store._saveEverything = saveEverything;
store.clearOnClose = true;
store.urlPreventCache = true;
dataGrid.setStore(store);
}
);
}