チェンジセット 329
- 更新日時:
- 2009/11/18 19:42:00 (4 か月 前)
- ファイル:
-
- 1 変更
凡例:
- 変更なし
- 追加
- 削除
-
trunk/jspreadsheet/jspreadsheet.js
r328 r329 14 14 }; 15 15 var reqId = 0; 16 var cache = {}; 16 17 17 18 function getRandom(length) { … … 34 35 35 36 function ss(url,param) { 36 37 37 param = $.extend(DEFAULT_PARAM,param); 38 38 var _query; … … 73 73 } 74 74 75 function send(callback) { 75 function send(callback,nocache) { 76 var cacheKey1 = encodeURIComponent(url); 77 var cacheKey2 = encodeURIComponent(_query||"__NO_QUERY__"); 78 cache[cacheKey1] = cache[cacheKey1]||{}; 76 79 var tqx = ""; 77 80 var rid = reqId++; … … 79 82 var handlerName = CALLBACK_PREFIX+getRandom(20); 80 83 } while(window[handlerName]); 81 window[handlerName] = function(res){ 82 if(res.reqId==rid.toString()) complete(res,callback); 84 function cb(res){ 85 if(res.reqId==rid.toString()) { 86 if(res.table) { 87 cache[cacheKey1][cacheKey2] = res; 88 } 89 complete(res,callback); 90 } 83 91 setTimeout(function(){ 84 92 try { … … 87 95 },1); 88 96 }; 97 if(!nocache&&cache[cacheKey1][cacheKey2]) { 98 complete(cache[cacheKey1][cacheKey2],callback); 99 return; 100 } 101 window[handlerName] = cb; 89 102 param.responseHandler = handlerName; 90 103 param.reqId = rid;