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= null ; else xhr.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded" ); opt.data = 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; } } }; |
原文:http://www.cnblogs.com/invincible-hehe/p/3737912.html