⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 14.05 - general pattern for wrapping a web service.js

📁 JS设计模式源代码
💻 JS
字号:
/* WebserviceProxy class */var WebserviceProxy = function() {  this.xhrHandler = XhrManager.createXhrHandler();};WebserviceProxy.prototype = {    _xhrFailure: function(statusCode) {    throw new Error('StatsProxy: Asynchronous request for stats failed.');  },  _fetchData: function(url, dataCallback, getVars) {    var that = this;    var callback = {       success: function(responseText) {        var obj = eval('(' + responseText + ')');        dataCallback(obj);      },       failure: that._xhrFailure    };        var getVarArray = [];    for(varName in getVars) {      getVarArray.push(varName + '=' + getVars[varName]);    }    if(getVarArray.length > 0) {      url = url + '?' + getVarArray.join('&');    }        xhrHandler.request('GET', url, callback);      }};/* StatsProxy class, using WebserviceProxy. */var StatsProxy = function() {}; // implements PageStatsextend(StatsProxy, WebserviceProxy);/* Implement the needed methods. */StatsProxy.prototype.getPageviews = function(callback, startDate, endDate,     page) {  this._fetchData('/stats/getPageviews/', callback, {     'startDate': startDate,     'endDate': endDate,     'page': page   });};StatsProxy.prototype.getUniques = function(callback, startDate, endDate,     page) {  this._fetchData('/stats/getUniques/', callback, {     'startDate': startDate,     'endDate': endDate,     'page': page   });};StatsProxy.prototype.getBrowserShare = function(callback, startDate, endDate,    page) {  this._fetchData('/stats/getBrowserShare/', callback, {     'startDate': startDate,     'endDate': endDate,     'page': page   });};StatsProxy.prototype.getTopSearchTerms = function(callback, startDate,     endDate, page) {  this._fetchData('/stats/getTopSearchTerms/', callback, {     'startDate': startDate,     'endDate': endDate,     'page': page   });};StatsProxy.prototype.getMostVisitedPages = function(callback, startDate,     endDate) {  this._fetchData('/stats/getMostVisitedPages/', callback, {     'startDate': startDate,     'endDate': endDate   });};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -