moo.ajax.js
上传用户:wangting
上传日期:2020-01-24
资源大小:2226k
文件大小:2k
源码类别:

破解

开发平台:

ASP/ASPX

  1. //based on prototype's ajax class
  2. //to be used with prototype.lite, moofx.mad4milk.net.
  3. ajax = Class.create();
  4. ajax.prototype = {
  5. initialize: function(url, options){
  6. this.transport = this.getTransport();
  7. this.postBody = options.postBody || '';
  8. this.method = options.method || 'post';
  9. this.onComplete = options.onComplete || null;
  10. this.update = $(options.update) || null;
  11. this.updateEscape = $(options.updateEscape) || null;
  12. this.request(url);
  13. },
  14. request: function(url){
  15. this.transport.open(this.method, url, true);
  16. this.transport.onreadystatechange = this.onStateChange.bind(this);
  17. if (this.method == 'post') {
  18. this.transport.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  19. if (this.transport.overrideMimeType) this.transport.setRequestHeader('Connection', 'close');
  20. }
  21. this.transport.send(this.postBody);
  22. },
  23. onStateChange: function(){
  24. if (this.transport.readyState == 4 && this.transport.status == 200) {
  25. if (this.onComplete) 
  26. setTimeout(function(){this.onComplete(this.transport);}.bind(this), 10);
  27. if (this.update)
  28. setTimeout(function(){this.update.innerHTML = this.transport.responseText;}.bind(this), 10);
  29. if (this.updateEscape)
  30. setTimeout(function(){this.updateEscape.innerHTML = unescape(this.transport.responseText);}.bind(this), 10);
  31. this.transport.onreadystatechange = function(){};
  32. }
  33. },
  34. getTransport: function() {
  35. if (window.ActiveXObject) return new ActiveXObject('Microsoft.XMLHTTP');
  36. else if (window.XMLHttpRequest) return new XMLHttpRequest();
  37. else return false;
  38. }
  39. };