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

📄 request.js

📁 This is the script which used on 10minutemail.com for temporary email.
💻 JS
字号:
/** * Class that contains everything needed to make a request * This includes: *	The url were calling *	If were calling a remote method, the class and method name *	The payload, unserialized *	The timeout for async calls *	The callback method *	Optional event handlers: onError, Load, Send *	A serializer instance * * @category	HTML * @package	AJAX * @author	Joshua Eichorn <josh@bluga.net> * @copyright	2005 Joshua Eichorn * @license	http://www.opensource.org/licenses/lgpl-license.php  LGPL * * See Main.js for author/license details */function HTML_AJAX_Request(serializer) {	this.serializer = serializer;}HTML_AJAX_Request.prototype = {	// Instance of a serializer	serializer: null,	// Is this an async request	isAsync: false,	// HTTP verb	requestType: 'POST',	// The actual URL the request is sent to	requestUrl: '',	// Remote Class	className: null,	// Remote Method	methodName: null,	// Timeout in milliseconds for requests	timeout: 20000,	// unserialized data, for rpc calls use add args, to send raw data just set this directly	args: null,	// async callback method	callback: null,	// Queue to push this request too	queue: 'default',	// default priority	priority: 0,	// a hash of headers to add to add to this request	customHeaders: {'X-Requested-With': 'XMLHttpRequest', 'X-Ajax-Engine': 'HTML_AJAX/0.5.2'},	// true if this request will be sent using iframes	iframe: false,	// is this a grab request? if so we need to proxy for iframes	grab: false,	// true if this request should expect a multipart response	multipart: false,	// remote callback	phpCallback: false,	/**	 * Add an argument for the remote method	 * @param string argument name	 * @param mixed value	 * @return void	 * @throws Error code 1004	 */	addArg: function(name, value) 	{		if ( !this.args ) {			this.args = [];		}		if (!/[^a-zA-Z_0-9]/.test(name) ) {			this.args[name] = value;		} else {			throw new Error('Invalid parameter name ('+name+')');		}	},	/**	 * Get the payload in a serialized manner	 */	getSerializedPayload: function() {		return this.serializer.serialize(this.args);	},	/**	 * Get the content type	 */	getContentType: function() {		return this.serializer.contentType;	},	/**	 * Get the complete url, adding in any needed get params for rpc	 */	completeUrl: function() {		if (this.className || this.methodName) {			this.addGet('c', this.className);			this.addGet('m', this.methodName);		}		if (this.phpCallback) {			if (HTML_AJAX_Util.getType(this.phpCallback) == 'array') {				this.phpCallback = this.phpCallback.join('.');			}			this.addGet('cb', this.phpCallback);		}		if (this.multipart) {			this.addGet('multipart', '1');		}		return this.requestUrl;	},	/**	 * Compare to another request by priority	 */	compareTo: function(other) {		if (this.priority == other.priority) {			return 0;		}		return (this.priority > other.priority ? 1 : -1);	},	/**	 * Add a GET argument	 */	addGet: function(name, value) {		var url = new String(this.requestUrl);		url += (url.indexOf('?') < 0 ? '?' : '&') + escape(name) + '=' + escape(value);		this.requestUrl = url;	}}

⌨️ 快捷键说明

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