首页 > 代码库 > AJAX

AJAX

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