12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- var ajax = {};
- ajax.xhr = {};
- ajax.xhr.Request = function(url, params, callback, method) {
- this.url = url;
- this.params = params;
- this.callback = callback;
- this.method = method;
- this.send();
- }
- ajax.xhr.Request.prototype = {
- getXMLHttpRequest: function() {
- if (window.ActiveXObject) {
- try {
- return new ActiveXObject("Msxml2.XMLHTTP");
- } catch(e) {
- try {
- return new ActiveXObject("Microsoft.XMLHTTP");
- } catch(e1) { return null; }
- }
- } else if (window.XMLHttpRequest) {
- return new XMLHttpRequest();
- } else {
- return null;
- }
- },
- send: function() {
- this.req = this.getXMLHttpRequest();
-
- var httpMethod = this.method ? this.method : 'GET';
- if (httpMethod != 'GET' && httpMethod != 'POST') {
- httpMethod = 'GET';
- }
- var httpParams = (this.params == null || this.params == '') ?
- null : this.params;
- var httpUrl = this.url;
- if (httpMethod == 'GET' && httpParams != null) {
- httpUrl = httpUrl + "?" + httpParams;
- }
- this.req.open(httpMethod, httpUrl, true);
- this.req.setRequestHeader(
- 'Content-Type', 'application/x-www-form-urlencoded');
- var request = this;
- this.req.onreadystatechange = function() {
- request.onStateChange.call(request);
- }
- this.req.send(httpMethod == 'POST' ? httpParams : null);
- },
- onStateChange: function() {
- this.callback(this.req);
- }
- }
|