封装过的Ajax工具类库AjaxUtil.js 可以500%提高开发效率的前端UI框架!
- var AjaxUtil = {
- // 基础选项
- options : {
- method : "get", // 默认提交的方法,get post
- url : "", // 请求的路径 required
- params : {}, // 请求的参数
- type : 'text', // 返回的内容的类型,text,xml,json
- callback : function() {
- }// 回调函数 required
- },
- // 创建XMLHttpRequest对象
- createRequest : function() {
- var xmlhttp;
- try {
- xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");// IE6以上版本
- } catch (e) {
- try {
- xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");// IE6以下版本
- } catch (e) {
- try {
- xmlhttp = new XMLHttpRequest();
- if (xmlhttp.overrideMimeType) {
- xmlhttp.overrideMimeType("text/xml");
- }
- } catch (e) {
- alert("您的浏览器不支持Ajax");
- }
- }
- }
- return xmlhttp;
- },
- // 设置基础选项
- setOptions : function(newOptions) {
- for ( var pro in newOptions) {
- this.options[pro] = newOptions[pro];
- }
- },
- // 格式化请求参数
- formateParameters : function() {
- var paramsArray = [];
- var params = this.options.params;
- for ( var pro in params) {
- var paramValue = params[pro];
- /*if(this.options.method.toUpperCase() === "GET")
- {
- paramValue = encodeURIComponent(params[pro]);
- }*/
- paramsArray.push(pro + "=" + paramValue);
- }
- return paramsArray.join("&");
- },
- // 状态改变的处理
- readystatechange : function(xmlhttp) {
- // 获取返回值
- var returnValue;
- if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
- switch (this.options.type) {
- case "xml":
- returnValue = xmlhttp.responseXML;
- break;
- case "json":
- var jsonText = xmlhttp.responseText;
- if(jsonText){
- returnValue = eval("(" + jsonText + ")");
- }
- break;
- default:
- returnValue = xmlhttp.responseText;
- break;
- }
- if (returnValue) {
- this.options.callback.call(this, returnValue);
- } else {
- this.options.callback.call(this);
- }
- }
- },
- // 发送Ajax请求
- request : function(options) {
- var ajaxObj = this;
- // 设置参数
- ajaxObj.setOptions.call(ajaxObj, options);
- // 创建XMLHttpRequest对象
- var xmlhttp = ajaxObj.createRequest.call(ajaxObj);
- // 设置回调函数
- xmlhttp.onreadystatechange = function() {
- ajaxObj.readystatechange.call(ajaxObj, xmlhttp);
- };
- // 格式化参数
- var formateParams = ajaxObj.formateParameters.call(ajaxObj);
- // 请求的方式
- var method = ajaxObj.options.method;
- var url = ajaxObj.options.url;
- if ("GET" === method.toUpperCase()) {
- url += "?" + formateParams;
- }
- // 建立连接
- xmlhttp.open(method, url, true);
- if ("GET" === method.toUpperCase()) {
- xmlhttp.send(null);
- } else if ("POST" === method.toUpperCase()) {
- // 如果是POST提交,设置请求头信息
- xmlhttp.setRequestHeader("Content-Type",
- "application/x-www-form-urlencoded");
- xmlhttp.send(formateParams);
- }
- }
- };
一个简单的示例: 可以500%提高开发效率的前端UI框架!
- <strong style="border-color: initial; border-width: 0px; padding: 0px; margin: 0px;">function findUser() {
- var userid = $("userid").value;
- if (userid) {
- AjaxUtil.request({
- url:"servlet/UserJsonServlet",
- params:{id:userid},
- type:'json',
- callback:process
- });
- }
- }
- function process(json){
- if(json){
- $("id").innerHTML = json.id;
- $("username").innerHTML = json.username;
- $("age").innerHTML = json.age;
- }
- else{
- $("msg").innerHTML = "用户不存在";
- $("id").innerHTML = "";
- $("username").innerHTML = "";
- $("age").innerHTML = "";
- }
- }
- function $(id) {
- return document.getElementById(id);
- }</strong>
相关推荐
基于java的开发源码-google-api-translate(Java对Google翻译引擎的封装类库).zip 基于java的开发源码-google-api-translate(Java对Google翻译引擎的封装类库).zip 基于java的开发源码-google-api-translate(Java对...
这个类库基于面向对象的设计,它封装了Windows API,使得程序员可以使用更高层次的抽象来构建应用程序,而不是直接处理底层的Windows消息和句柄。 MFC的核心组件包括: 1. **框架类**:如CWinApp、CWinThread、...
"封装JavaScript常用类库.rar"是一个压缩包,其中包含了一个或多个文本文件,很可能是为了便于开发者复用和管理常见的JavaScript功能,避免重复编写相同或相似的代码,从而提高开发效率并减少潜在错误。 首先,让...
一个对JDBC进行简单封装的开源工具类库._使用它能够简化JDBC应用程序的开发,不会影响程序的性能_wasdb
然而,为了简化编程和提高可维护性,通常会封装成类库。在提供的文件"CNet.cpp"和"CNet.h"中,很可能就包含了这样的类库实现,用于管理和操作TCP连接。 类库的设计通常包括以下几个关键部分: 1. **连接管理**:...
首先,`ThumbDBLib.dll`很可能是一个封装了读取`thumbs.db`文件的C#类库。这个库可能包含了各种方法和类,用于解析`thumbs.db`文件结构,提取其中的图片缩略图信息。类库可能会提供如打开`thumbs.db`文件、获取特定...
Prototype是一个强大的JavaScript类库,它的出现是为了弥补JavaScript在面向对象编程方面的不足,提供了一套丰富的函数和工具,使开发者能够更高效地编写可维护的JavaScript代码。Prototype的核心理念是通过模拟传统...
MFC包含了大量封装了Windows API的类,如窗口、控件、文档/视图架构、数据库访问等,极大地提高了开发效率。 MFC类库详解.chm文件是一个帮助文档,通常用于提供MFC类库的详细说明和教程。CHM是Microsoft的 Compiled...
MFC(Microsoft Foundation Classes)是微软提供的一种C++类库,用于简化Windows应用程序的开发。这个压缩包“MFC类库详解.rar”包含了详细的MFC类库和函数库的解释,是学习MFC的重要资源。其中包含的“MFC类库详解....
《深入理解MFC类库:从VC 6到现代编程实践》 MFC(Microsoft Foundation Classes)是微软提供的一种C++类库,用于简化Windows应用程序的开发。它封装了Windows API,提供了面向对象的接口,使得程序员可以更高效地...
MFC(Microsoft Foundation Classes)是微软提供的一种C++类库,用于简化Windows应用程序的开发。它基于面向对象的编程理念,构建在Windows API之上,为开发者提供了丰富的类和功能,以便更加高效地创建桌面应用程序...
"C#封装的Utilities基础类库.rar"提供了一组实用工具类,帮助开发者快速高效地完成这些常见任务。这个类库涵盖了多个核心功能模块,包括JSON和XML操作、字符串处理、验证码生成、压缩与解压缩、文件操作以及各种验证...
清明_跨程序辅助类库 8.0 是一个专为E4A(Easy4App)开发者设计的强大工具,旨在提供跨应用的辅助功能,提升开发效率和代码质量。这款类库是E4A开发环境的一个扩展,通过集成一系列实用的函数和模块,使得开发者能够...
总的来说,理解和掌握JavaScript的面向对象编程,包括其基于原型的继承机制,以及如何利用封装类库(如MY-CLASS)来简化代码结构,是成为一个高级JavaScript开发者的必备技能。这不仅可以提升代码质量,还能使代码...
NetpPro一组独立中间件的类库 简要 .NetpPro是一组独立中间件的类库统称,具有轻量级,依赖小,易用使用且高效。 在以往的开发中我们常常封装内置一堆组件作为框架进行使用,项目是否使用这些组件功能都将统统加载...
1. **PHP类库**:在PHP中,类库是一组相关的函数和方法,封装在一起以实现特定的功能。在这个案例中,类库专注于简繁体中文的转换,可能包含一个或多个类,每个类有其特定的转换方法。 2. **简繁体转换算法**:此...
SCListener类库可能是基于Core Audio进行封装,为开发者提供了一个更高级别的API,以便于实现对麦克风是否可用、是否有权限以及音量检测等功能。通过这样的库,开发者可以更便捷地处理与麦克风相关的用户交互和权限...
1. 通用类库 DC.CommonLiteLib针对一些常用算法,线程管理,IO控制,以及ConvertHelper类型转换,StringHelper字符串封装,FileHelper 文件操作封装等,另有CHM官方文件解释用法。 2. 用数据库类库 DC....