⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsonreststore.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
字号:
if(!dojo._hasResource["dojox.data.tests.stores.JsonRestStore"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.data.tests.stores.JsonRestStore"] = true;dojo.provide("dojox.data.tests.stores.JsonRestStore");dojo.require("dojox.data.JsonRestStore");dojo.require("dojo.data.api.Read");dojo.require("dojox.rpc.Service");dojox.data.tests.stores.JsonRestStore.error = function(t, d, errData){	//  summary:	//		The error callback function to be used for all of the tests.	d.errback(errData);	}var testServices = new dojox.rpc.Service(dojo.moduleUrl("dojox.rpc.tests.resources", "test.smd"));var jsonStore = new dojox.data.JsonRestStore({service:testServices.jsonRestStore});doh.register("dojox.data.tests.stores.JsonRestStore", 	[		{			name: "Fetch some items",			timeout:	10000, //10 seconds.			runTest: function(t) {				//	summary: 				//		Simple test of a basic fetch on JsonRestStore of a simple query.				var d = new doh.Deferred();				jsonStore.fetch({query:"query", 					onComplete: function(items, request){						t.is(4, items.length);						d.callback(true);					},					onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)});				return d; //Object			}		},		{			name: "fetch by id",			timeout:	10000, //10 seconds.			runTest: function(t) {				//	summary: 				//		Simple test of a basic fetch on JsonRestStore of a single item.				var d = new doh.Deferred();				jsonStore.fetch({query:"obj1", 					onComplete: function(item, request){						t.is("Object 1", item.name);						t.t(jsonStore.hasAttribute(item,"name"));						t.is(jsonStore.getValues(item,"name").length,1);						t.t(jsonStore.isItem(item));						d.callback(true);					},					onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)});				return d; //Object			}		},		{			name: "Modify,save, check by id",			timeout:	10000, //10 seconds.			runTest: function(t) {				//	summary: 				//		Fetch an item from a query, modify and save it, and check to see if it was modified correctly				var d = new doh.Deferred();				jsonStore.fetch({query:"query", 					onComplete: function(items, request){						var now = new Date().getTime();						jsonStore.setValue(items[0],"updated",now);						jsonStore.setValue(items[0],"obj",{foo:'bar'});						jsonStore.setValue(items[0],"obj dup",items[0].obj);						jsonStore.setValue(items[0],"testArray",[1,2,3,4]);						jsonStore.save();						jsonStore.fetch({query:"obj1",							onComplete: function(item, request){								t.is("Object 1", item.name);								t.is(now, item.updated);								t.is("bar", item.obj.foo);								t.is(item.obj, item['obj dup']);								d.callback(true);							},							onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)});					},					onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)});				return d; //Object			}		},		{			name: "Post, delete, and put",			timeout:	10000, //10 seconds.			runTest: function(t) {				//	summary: 				//		append/post an item, delete it, sort the lists, resort the list, saving each time.				var d = new doh.Deferred();				jsonStore.fetch({query:"obj1", 					onComplete: function(item, request){						var now = new Date().getTime();						var testArray = item.testArray;						var newObject = {"name":"new object"};						testArray.push(newObject);						jsonStore.save();						jsonStore.deleteItem(newObject,{parent:testArray});						jsonStore.save();						testArray.sort(function(obj1,obj2) { return obj1 < obj2; });						jsonStore.save();						testArray.sort(function(obj1,obj2) { return obj1 > obj2; });						jsonStore.save();						d.callback(true);					},					onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)});				return d; //Object			}		},		{			name: "Revert",			timeout:	10000, //10 seconds.			runTest: function(t) {				//	summary: 				//		append/post an item, delete it, sort the lists, resort the list, saving each time.				var d = new doh.Deferred();				jsonStore.fetch({query:"obj1", 					onComplete: function(item, request){						jsonStore.setValue(item,"name","new name");						jsonStore.setValue(item,"newProp","new value");						jsonStore.unsetAttribute(item,"updated");						t.is(jsonStore.getValue(item,"name"),"new name");						t.is(jsonStore.getValue(item,"newProp"),"new value");						t.is(jsonStore.getValue(item,"updated"),undefined);						jsonStore.revert();						t.is(jsonStore.getValue(item,"name"),"Object 1");						t.is(jsonStore.getValue(item,"newProp"),undefined);						t.t(typeof jsonStore.getValue(item,"updated") == 'number');						d.callback(true);					},					onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)});				return d; //Object			}		},		{			name: "Lazy loading",			timeout:	10000, //10 seconds.			runTest: function(t) {				//	summary: 				//		test lazy loading				var d = new doh.Deferred();				jsonStore.fetch({query:"query", 					onComplete: function(items, request){						/*var item = jsonStore.getValue(items,2); // sync lazy loading						t.is(item.name == 'Object 3');*/						jsonStore.getValue(items,3,function(item) { // async lazy loading							t.is(item.name,'Object 4');							d.callback(true);						});					},					onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)});				return d; //Object			}		},		{			name: "Array manipulation",			timeout:	10000, //10 seconds.			runTest: function(t) {				//	summary: 				//		test array manipulation				var d = new doh.Deferred();				jsonStore.fetch({query:"obj1", 					onComplete: function(item, request){						var testArray = item.testArray;						testArray.reverse();						testArray.unshift(testArray.pop());						jsonStore.onSave = function(data) {							t.is(data.length,1);													d.callback(true);							jsonStore.onSave = function(){};						};						jsonStore.save();					},					onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)});				return d; //Object			}		},				{			name: "ReadAPI:  Fetch_20_Streaming",			timeout:	10000, //10 seconds.  Json can sometimes be slow.			runTest: function(t) {				//	summary: 				//		fetching with paging				var d = new doh.Deferred();				var count = 0;				function onItem(item, requestObj){				  t.assertTrue(typeof item == 'number');				  count++;				}				function onComplete(items, request){					t.is(5, count);										t.is(null, items);					d.callback(true);				}				//Get everything...				jsonStore.fetch({						query: "bigQuery",					onBegin: null,					count: 5,					onItem: onItem,					onComplete: onComplete,					onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, t, d)				});				return d; //Object			}		},		function testReadAPI_functionConformance(t){			//	summary: 			//		Simple test read API conformance.  Checks to see all declared functions are actual functions on the instances.			//	description:			//		Simple test read API conformance.  Checks to see all declared functions are actual functions on the instances.			var readApi = new dojo.data.api.Read();			var passed = true;			for(i in readApi){				if(i.toString().charAt(0) !== '_')				{					var member = readApi[i];					//Check that all the 'Read' defined functions exist on the test store.					if(typeof member === "function"){						var testStoreMember = jsonStore	[i];						if(!(typeof testStoreMember === "function")){							passed = false;							break;						}					}				}			}		}	]);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -