温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:漂亮许愿墙前台程序源码
当前文件路径:AspNetXuYuanQiang/js/myajax.js

1// Ajax related functions using in TXP 2.0. 2
//51-A-s-p-x.com 3
/* Copied from xmlextras.js */ 4
//<script> 5
////////////////// 6
// Helper Stuff // 7
////////////////// 8
9
// used to find the Automation server name 10
function getDomDocumentPrefix() { 11
if (getDomDocumentPrefix.prefix) 12
return getDomDocumentPrefix.prefix; 13
14
var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; 15
var o; 16
for (var i = 0; i < prefixes.length; i++) { 17
try { 18
// try to create the objects 19
o = new ActiveXObject(prefixes[i] + ".DomDocument"); 20
return getDomDocumentPrefix.prefix = prefixes[i]; 21
} 22
catch (ex) {}; 23
} 24
25
throw new Error("Could not find an installed XML parser"); 26
} 27
28
function getXmlHttpPrefix() { 29
if (getXmlHttpPrefix.prefix) 30
return getXmlHttpPrefix.prefix; 31
32
var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; 33
var o; 34
for (var i = 0; i < prefixes.length; i++) { 35
try { 36
// try to create the objects 37
o = new ActiveXObject(prefixes[i] + ".XmlHttp"); 38
return getXmlHttpPrefix.prefix = prefixes[i]; 39
} 40
catch (ex) {}; 41
} 42
43
throw new Error("Could not find an installed XML parser"); 44
} 45
46
////////////////////////// 47
// Start the Real stuff // 48
////////////////////////// 49
50
51
// XmlHttp factory 52
function XmlHttp() {} 53
54
XmlHttp.create = function () { 55
try { 56
if (window.XMLHttpRequest) { 57
var req = new XMLHttpRequest(); 58
59
// some versions of Moz do not support the readyState property 60
// and the onreadystate event so we patch it! 61
if (req.readyState == null) { 62
req.readyState = 1; 63
req.addEventListener("load", function () { 64
req.readyState = 4; 65
if (typeof req.onreadystatechange == "function") 66
req.onreadystatechange(); 67
}, false); 68
} 69
70
return req; 71
} 72
if (window.ActiveXObject) { 73
return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp"); 74
} 75
} 76
catch (ex) {} 77
// fell through 78
throw new Error("Your browser does not support XmlHttp objects"); 79
}; 80
81
// XmlDocument factory 82
function XmlDocument() {} 83
84
XmlDocument.create = function () { 85
try { 86
// DOM2 87
if (document.implementation && document.implementation.createDocument) { 88
var doc = document.implementation.createDocument("", "", null); 89
90
// some versions of Moz do not support the readyState property 91
// and the onreadystate event so we patch it! 92
if (doc.readyState == null) { 93
doc.readyState = 1; 94
doc.addEventListener("load", function () { 95
doc.readyState = 4; 96
if (typeof doc.onreadystatechange == "function") 97
doc.onreadystatechange(); 98
}, false); 99
} 100
101
return doc; 102
} 103
if (window.ActiveXObject) 104
return new ActiveXObject(getDomDocumentPrefix() + ".DomDocument"); 105
} 106
catch (ex) {} 107
throw new Error("Your browser does not support XmlDocument objects"); 108
}; 109
110
// Create the loadXML method and xml getter for Mozilla 111
if (window.DOMParser && 112
window.XMLSerializer && 113
window.Node && Node.prototype && Node.prototype.__defineGetter__) { 114
115
// XMLDocument did not extend the Document interface in some versions 116
// of Mozilla. Extend both! 117
//XMLDocument.prototype.loadXML = 118
Document.prototype.loadXML = function (s) { 119
120
// parse the string to a new doc 121
var doc2 = (new DOMParser()).parseFromString(s, "text/xml"); 122
123
// remove all initial children 124
while (this.hasChildNodes()) 125
this.removeChild(this.lastChild); 126
127
// insert and import nodes 128
for (var i = 0; i < doc2.childNodes.length; i++) { 129
this.appendChild(this.importNode(doc2.childNodes[i], true)); 130
} 131
}; 132
133
134
/* 135
* xml getter 136
* 137
* This serializes the DOM tree to an XML String 138
* 139
* Usage: var sXml = oNode.xml 140
* 141
*/ 142
// XMLDocument did not extend the Document interface in some versions 143
// of Mozilla. Extend both! 144
/* 145
XMLDocument.prototype.__defineGetter__("xml", function () { 146
return (new XMLSerializer()).serializeToString(this); 147
}); 148
*/ 149
Document.prototype.__defineGetter__("xml", function () { 150
return (new XMLSerializer()).serializeToString(this); 151
}); 152
} 153
/* /Copied from xmlextras.js */ 154
155
function ShowContent(userCtrl, param, outputPlace) 156
{ 157
//outputPlace.innerHTML = "<div style='text-align: center; padding: 10px 0;'><img alt='Loading...' src='/Images/loading.gif' style='border: 0;' /></div>" 158
if(window.ActiveXObject){ 159
outputPlace.filters[0].apply(); 160
} 161
var xhFoo = XmlHttp.create(); 162
var async = true; 163
var url = userCtrl; 164
if(param != null && param != "") { 165
url += "?" + param; 166
} 167
//alert(url); 168
xhFoo.open("GET", url, async); 169
xhFoo.onreadystatechange = function () { 170
if(xhFoo.readyState == 4) { 171
172
outputPlace.innerHTML = xhFoo.responseText; 173
if(window.ActiveXObject){ 174
outputPlace.filters[0].play(); 175
} 176
177
} 178
} 179
xhFoo.send(null); 180
} 181
182
function ShowContentSync(userCtrl, param, outputPlace) 183
{ 184
var xhFoo = XmlHttp.create(); 185
var async = false; 186
var url = userCtrl; 187
if(param != null && param != "") { 188
url += "?" + param; 189
} 190
xhFoo.open("GET", url, async); 191
xhFoo.send(null); 192
outputPlace.innerHTML = xhFoo.responseText; 193
} 194
195
// 常可修改,增加一个返回后的方法调用 196
function ShowContentA(userCtrl, param, outputPlace, callbackFunc) 197
{ 198
outputPlace.innerHTML = "<div style='text-align: center; padding: 10px 0;'><img alt='Loading...' src='/Images/loading.gif' style='border: 0;' /></div>" 199
var xhFoo = XmlHttp.create(); 200
var async = true; 201
var url = userCtrl; 202
if(param != null && param != "") { 203
url += "?" + param; 204
} 205
xhFoo.open("GET", url, async); 206
xhFoo.onreadystatechange = function () { 207
if(xhFoo.readyState == 4) { 208
outputPlace.innerHTML = xhFoo.responseText; 209
eval(callbackFunc); 210
} 211
} 212
xhFoo.send(null); 213
} 214
215
216





}
}