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

📄 invocation.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
字号:
if(!dojo._hasResource["dojox.wire.ml.Invocation"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.wire.ml.Invocation"] = true;dojo.provide("dojox.wire.ml.Invocation");dojo.require("dojox.wire.ml.Action");dojo.declare("dojox.wire.ml.Invocation", dojox.wire.ml.Action, {	//	summary:	//		A widget to invoke a method or publish a topic	//	description:	//		This widget represents a controller task to invoke a method or	//		publish a topic when an event (a function) or a topic is issued.	//	object:	//		A scope of a method to invoke	//	method:	//		A name of a method to invoke	//	topic:	//		A name of a topic to publish	//	parameters:	//		Arguments for the method or the topic	//	result:	//		A property to store a return value of the method call	//	error:	//		A property to store an error on the method call	object: "",	method: "",	topic: "",	parameters: "",	result: "",	error: "",	_run: function(){		//	summary:		//		Invoke a method or publish a topic		//	description:		//		If 'topic' is specified, the topic is published with arguments		//		specified to 'parameters'.		//		If 'method' and 'object' are specified, the method is invoked		//		with arguments specified to 'parameters' and set the return		//		value to a property specified to 'result'.		//		'object', 'parameters' and 'result' can specify properties of		//		a widget or an DOM element with the dotted notation.		//		If 'parameters' are omitted, the arguments to this method are		//		passed as is.		if(this.topic){			var args = this._getParameters(arguments);			try{				dojo.publish(this.topic, args);				this.onComplete();			}catch(e){				this.onError(e);			}		}else if(this.method){			var scope = (this.object ? dojox.wire.ml._getValue(this.object) : dojo.global);			if(!scope){				return; //undefined			}			var args = this._getParameters(arguments);			var func = scope[this.method];			if(!func){				func = scope.callMethod;				if(!func){					return; //undefined				}				args = [this.method, args];			}			try{				var connected = false;				if(scope.getFeatures){					var features = scope.getFeatures();					if((this.method == "fetch" && features["dojo.data.api.Read"]) ||						(this.method == "save" && features["dojo.data.api.Write"])){						var arg = args[0];						if(!arg.onComplete){							arg.onComplete = function(){};						}						//dojo.connect(arg, "onComplete", this, "onComplete");						this.connect(arg, "onComplete", "onComplete");                        if(!arg.onError){							arg.onError = function(){};						}						//dojo.connect(arg, "onError", this, "onError");						this.connect(arg, "onError", "onError");                        connected = true;					}				}				var r = func.apply(scope, args);				if(!connected){					if(r && (r instanceof dojo.Deferred)){						var self = this;						r.addCallbacks(							function(result){self.onComplete(result);},							function(error){self.onError(error);}						);					}else{						this.onComplete(r);					}				}			}catch(e){				this.onError(e);			}		}	},	onComplete: function(/*anything*/result){		//	summary:		//		A function called when the method or the topic publish		//		completed		//	description:		//		If 'result' attribute is specified, the result object also set		//		to the specified property.		//	result:		//		The return value of a method or undefined for a topic		if(this.result){			dojox.wire.ml._setValue(this.result, result);		}		if(this.error){ // clear error			dojox.wire.ml._setValue(this.error, "");		}	},	onError: function(/*anything*/error){		//	summary:		//		A function called on an error occurs		//	description:		//		If 'error' attribute is specified, the error object also set to		//		the specified property.		//	error:		//		The exception or error occurred		if(this.error){			if(error && error.message){				error = error.message;			}			dojox.wire.ml._setValue(this.error, error);		}	},	_getParameters: function(/*Array*/args){		//	summary:		//		Returns arguments to a method or topic to invoke		//	description:		//		This method retunrs an array of arguments specified by		//		'parameters' attribute, a comma-separated list of IDs and		//		their properties in a dotted notation.		//		If 'parameters' are omitted, the original arguments are		//		used.		//	args:		//		Arguments to a trigger event or topic		if(!this.parameters){		 	// use arguments as is			return args; //Array		}		var parameters = [];		var list = this.parameters.split(",");		if(list.length == 1){			var parameter = dojox.wire.ml._getValue(dojo.trim(list[0]), args);			if(dojo.isArray(parameter)){				parameters = parameter;			}else{				parameters.push(parameter);			}		}else{			for(var i in list){				parameters.push(dojox.wire.ml._getValue(dojo.trim(list[i]), args));			}		}		return parameters; //Array	}});}

⌨️ 快捷键说明

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