javascript 实现ajax封装

1 纯javascript 封装发送ajax数据

2 post、get方式 发送数据

 1 GLOBAL.namespace("Ajax");
 2 /**
 3  * 同步ajax 返回json Object
 4  *
 5  * @param {}
 6  *            urlStr
 7  * @param{} type GET or POST方式
 8  * @param {}
 9  *            paramsStr 与服务器约定 如果为GEt方式 则必须为 key1 = value & key2 = value
10  *            的形式加在url后
11  * @return {} 返回字符串
12  */
13 GLOBAL.Ajax.ajaxSyncCall = function(urlStr, type, paramsStr) {
14     var obj;
15     var value;
16     if (window.ActiveXObject) {
17         obj = new ActiveXObject(‘Microsoft.XMLHTTP‘);
18     } else if (window.XMLHttpRequest) {
19         obj = new XMLHttpRequest();
20     }
21     if (type == "POST") {
22         obj.open(‘POST‘, urlStr, false);
23         obj.setRequestHeader(‘Content-Type‘,
24                 ‘application/x-www-form-urlencoded‘);
25         obj.send(paramsStr);
26     } else if(type == "GET")
27     {
28         obj.open(‘GET‘, urlStr, false);
29         obj.send(null);
30     }
31     var result = null;
32     if (obj.readyState == 4) {
33         if (obj.status == 200) {
34             result = obj.responseText;
35         }
36     }
37     return result;
38 }
39 /* 用于ajax异步传输方法 */
40 GLOBAL.Ajax.ajaxAsynCallBack = function(xhr, callback) {
41     var result = null;
42     if (obj.readyState == 4) {
43         if (obj.status == 200) {
44             result = obj.responseText;
45             callback(result);
46         }
47     }
48 }
49 /**
50  * ajax异步提交方式
51  *
52  * @param {}
53  *            urlStr
54  * @param {}
55  *            GET or POST方式
56  * @param {}
57  *            paramJsonObj
58  * @param {}
59  *            callbackFunc
60  */
61 GLOBAL.Ajax.ajaxAsynCall = function(urlStr, type, paramsStr, callback) {
62     var obj;
63     var value;
64     if (window.ActiveXObject) {
65         obj = new ActiveXObject(‘Microsoft.XMLHTTP‘);
66     } else if (window.XMLHttpRequest) {
67         obj = new XMLHttpRequest();
68     }
69     obj.onreadystatechange = GLOBAL.Ajax.ajaxAsynCallBack(obj, callback);
70     if (type == "POST") {
71         obj.open(‘POST‘, urlStr, true);
72         obj.setRequestHeader(‘Content-Type‘,
73                 ‘application/x-www-form-urlencoded‘);
74         obj.send(paramsStr);
75     } else if(type == "GET")
76     {
77         obj.open(‘GET‘, urlStr, true);
78         obj.send(null);
79     }
80 }

需要用到的参数方法,在基础类中:

1 创建post字符串

2 创建get字符串

 1 /*
 2  * @parameters 为一个对象
 3  * 返回一个带值的url字符串
 4 */
 5 GLOBAL.TOOL.creatGETParam=function(url,parameters)
 6 {
 7    var rtnStr= null;
 8    var tmpStr=‘‘,str;
 9    var i = 0;
10    rtnStr = url+"?";
11    for (var key in parameters) {
12         str = escape(key) +"="+escape(parameters[key]);
13         if(i==0)
14         {
15             tmpStr+=str;
16             i++;
17         }
18         else{
19             tmpStr+=‘&‘+str;
20         }
21    }
22    rtnStr+=tmpStr;
23    return rtnStr;
24 }
25
26 GLOBAL.TOOL.cratePOSTParam=function(parameters)
27 {
28     var rtnStr =‘‘;
29     var i = 0;
30     var tmpStr=‘‘,str;
31     for(var key in parameters)
32     {
33         str = escape(key) +"="+escape(parameters[key]);
34         if(i==0)
35             {
36              tmpStr+=str;
37              i++;
38             }
39         else
40             {
41              tmpStr+=‘&‘+str;
42             }
43     }
44     return tmpStr;
45 }
时间: 2024-10-13 00:13:22

javascript 实现ajax封装的相关文章

JavaScript的Ajax封装GET和POST

<!DOCTYPE html> <html> <head> <title>封装ajax</title> </head> <body> <script type="text/javascript"> function createXHR() { if(typeof XMLHttpRequest != "undefined") { return new XMLHttpRequ

html --- ajax --- javascript --- 简单的封装

Ajax的简单封装 Ajax的全称是AsynchronousJavaScriptAndXML 如有疑问请参考:http://zh.wikipedia.org/zh-cn/AJAX 以及传智播客的视频教程:http://java.itcast.cn/news/8308d118/740a/4dcd/8dbf/c73d2fe5bc60.shtml 其实已经有好多框架对它进行了封装,但是还是有好多时候用到自己封装的 透露一下,本人是宇多田光的听众之一哦! 封装后的代码如下: 文件路径:\web\Ajax

javascript中Ajax请求的封装代码

/****************************ajax请求 start**************************************/ function ajaxClass(_url, _successCallback, _failureCallback, _urlParameters, _callbackParams, _async, _charset, _timeout, _frequency, _requestTimes, _frame) { /** * AJAX

第一百六十一节,封装库--JavaScript,完整封装库文件

封装库--JavaScript,完整封装库文件 /** *feng_zhuang_ku_1.0版本,js封装库,2016/12/29日:林贵秀 **/ /** 前台调用 * 每次调用$()创建库对象,使其每次调用都是独立的对象 * $()创建库对象,有一个可选参数,参数有两种方式,1是传入的this,2是传入的字符串 * 可选参数说明: * 传入的this,this,就是当前对象本身 * * 传入的字符串,代表获取元素选择器 * 参数是元素选择器(id值.class值.标签名称)其中一样的字符串

【javascript】ajax 基础 --本文转载

[javascript]ajax 基础 什么是 ajax ajax 即"Asynchronous JavaScript and XML"(异步 JavaScript 和 XML),也就是无刷新数据读取. http 请求 首先需要了解 http 请求的方法(GET 和 POST). GET 用于获取数据.GET 是在 URL 中传递数据,它的安全性低,容量低. POST 用于上传数据.POST 安全性一般,容量几乎无限. ajax 请求 ajax 请求一般分成 4 个步骤. 1.创建 a

利用CSS、JavaScript及Ajax实现图片预加载的三大方法

原文:3 Ways to Preload Images with CSS, JavaScript, or Ajax 译文:利用CSS.JavaScript及Ajax实现图片预加载的三大方法 预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验.本文将分享三个不同的预加载技术,来增强网站的性能与可用性.

JavaScript基础---AJAX

内容提纲: 1.XMLHttpRequest 2.GET与POST 3.封装Ajax  发文不易,转载请注明链接出处,谢谢! 2005年Jesse James Garrett发表了一篇文章,标题为:"Ajax:A new Approach to Web Applications".他在这篇文章里介绍了一种技术,用他的话说,就叫:Ajax,是Asynchronous JavaScript + XML的简写.这种技术能够想服务器请求额外的数据而无须卸载页面(即刷新),会带来更好的用户体验.

jQuery与JavaScript与ajax三者的区别与联系

简单总结: 1.JS是一门前端语言. 2.Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个框架,它对JS进行了封装,使其更方便使用.jQuery使得JS与Ajax的使用更方便 关系比喻: 若把js比作木头,那么jquery就是木板(半成品) jQuery与ajax都是js的一个框架,各有各的功能,若js是父亲的话,jquery与ajax就是两个儿子 详细情况: 1.javascript是一种在客户端执行的脚本语

使用CSS、JavaScript及Ajax实现图片预加载的方法详解 

预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验.本文将分享使用CSS.JavaScript及Ajax实现图片预加载的三个不同技术,来增强网站的性能与可用性.一起来看看吧,希望对大家学习web前端有所帮助. 方法一:用CSS和JavaScript实现预加载 实现预加载图片有很多方法,包括使用CSS