文档章节

还在为需要ajax而导入jquery吗? 纯js封装ajax操作

冰糖710
 冰糖710
发布于 2015/05/13 15:52
字数 286
阅读 8
收藏 0

文件名:SydAjax.js

 1 /**
 2  *    @desc javascript Ajax
 3  *    @parameter opt
 4  *    @parameter string opt.type  post/get,
 5  *    @parameter string opt.url 
 6  *    @parameter string opt.data  or json object
 7  *    @parameter function opt.success
 8  *    @parameter function opt.error
 9  *    @author Sydney
10  *    @date 2013年6月3日
11  */
12 var SydAjax = {
13     ajax:function(opt){
14         var xhr = this.createXhrObject();
15         xhr.onreadystatechange = function(){
16             if(xhr.readyState!=4) return ;
17             (xhr.status===200 ?
18                 opt.success(xhr.responseText,xhr.responseXML):
19                 opt.error(xhr.responseText,xhr.status));
20         }
21         xhr.open(opt.type,opt.url,true);
22         if(opt.type!=='post') 
23             opt.data=null;
24         else
25             xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
26         opt.data = this.parseQuery(opt.data);
27         xhr.send(opt.data);
28     },
29     post:function(url,success,data){
30         var popt = {
31             url:url,
32             type:'post',
33             data:data,
34             success:success,
35             error:function(data){}
36         }
37         this.ajax(popt);
38     },
39     get:function(url,success){
40         var gopt = {
41             url:url,
42             type:'get',
43             success:success,
44             error:function(){}
45         }
46         this.ajax(gopt);
47     },
48     createXhrObject:function(){
49         var methods = [
50             function(){ return new XMLHttpRequest();},
51             function(){ return new ActiveXObject('Msxml2.XMLHTTP');},
52             function(){ return new ActiveXObject('Microsoft.XMLHTTP');}
53         ];
54         for(var i=0;len=methods.length,i<len;i++){
55             try{
56                 methods[i]();
57             }catch(e){
58                 continue;
59             }
60             this.createXhrObject = methods[i];
61             return methods[i]();
62         }
63         throw new Error('Could not create an XHR object.');
64     },
65     parseQuery:function(json){
66         if(typeof json == 'object'){
67             var str = '';
68             for(var i in json){
69                 str += "&"+i+"="+encodeURIComponent(json[i]);
70             }
71             return str.length==0 ? str : str.substring(1);
72         }else{
73             return json;
74         }
75     }
76 };

本文转载自:http://www.cnblogs.com/hxtgirq710/p/3160865.html

冰糖710
粉丝 4
博文 10
码字总数 0
作品 0
程序员
私信 提问
jQuery、ajax、JSON

最近在做项目的过程中,对于jQuery、ajax、JSON这三者的关系总是理不清楚,于是,在简单是使用,有了丁点的经验,于是对这三者的关系做了下研究: 1、jQuery : 以下来自百度百科 jQuery是一个...

伊人心
2018/12/28
0
0
解决多个jquery并存冲突问题

jQuery自诞生以来,版本越来越多,而且jQuery官网的新版本还在不断的更新和发布中,现已经达到了1.6.4版本,但是我们在以前的项目中就已经使用了旧版本的jQuery,比如已经出现的:1.3.X、1.4...

罗盛力
2011/12/02
0
0
Python3基础之学习笔记(十五)-Ajax-文件上传-图片验证码

1. Django 1.1 Ajax 1.1.1 Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,...

GoldenKitten
01/17
0
0
jQuery常用知识点总结以及平时封装常用函数

jquery效果 隐藏/显示: 淡入/淡出: 滑动:slideDown/slideUp(speed,callback) 动画: jQuery DOM 获取文本值、属性值: js代码: 设置文本属性值: js代码: 添加元素: 删除元素: 查找元...

heartless01
2017/10/31
0
0
用Java(JUnit4)对JavaScript(含Ajax)脚本进行单元测试

一、背景 因为原来采用过Rhino(JS解析引擎,新版JDK中也默认包含另外一个解析引擎)来在Java环境中解析JavaScript并运行其中的方法。最近看到有人在问题里提问,模拟Ajax请求的问题。所以就...

NoahX
2013/04/09
0
3

没有更多内容

加载失败,请刷新页面

加载更多

数据库

数据库架构 数据库架构可以分为存储文件系统和程序实例两大块,而程序实例根据不同的功能又可以分为如下小模块。 1550644570798 索引模块 常见的问题有: 为什么要使用索引 什么样的信息能成...

一只小青蛙
今天
4
0
PHP常用经典算法实现

<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = int......

半缘修道半缘君丶
昨天
5
0
GIL 已经被杀死了么?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/8KvQemz0SWq2hw-2aBPv2Q 花下猫语: Python 中最广为人诟病的一点,大概就是它的 GIL 了。...

豌豆花下猫
昨天
5
0
git commit message form

commit message一般包括3部分:Header、Body、Footer。 <type>(<scope>):<subject>blank line<body>blank line<footer> header是必需的,body、footer可以省略。 header中type、subject......

ninjaFrog
昨天
5
0
聊聊Elasticsearch的CircuitBreakerService

序 本文主要研究一下Elasticsearch的CircuitBreakerService CircuitBreakerService elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/indices/breaker/CircuitBreakerService.ja......

go4it
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部