LINK - Paging for Azure Mobile Service Custom API (JS)
2015-10-08 11:44
597 查看
LINK - http://blogs.msdn.com/b/azuremobile/archive/2014/06/04/enabling-paging-with-total-count-for-tables-with-custom-read-scripts-in-the-node-js-runtime.aspx
returns Total Count of rows in results like below:
{
"count":500,
"results":[
{"id":"first id","text":"Buy bread","complete":false},
{"id":"second id","text":"Buy milk","complete":true},
{"id":"third id","text":"Buy chocolate","complete":false},
]
}
JS API:
function read(query, user, request) {
var table = tables.current;
var queryComponents = query.getComponents();
var take = queryComponents.take;
var skip = queryComponents.skip;
var sql = 'SELECT id, text, complete FROM ' + table.getTableName();
sql = sql + ' ORDER BY text';
sql = sql + ' OFFSET ' + skip + ' ROWS ';
sql = sql + ' FETCH NEXT ' + take + ' ROWS ONLY';
// Adding the total count
sql = sql + '; SELECT COUNT(*) as [count] FROM ' + table.getTableName();
console.log('sql: ' + sql);
// Notice that there are two statements in the sql; that means that the
// callback to mssql.query will be called twice. Let's use some captured
// variables to identify when all responses have arrived so that we avoid
// calling 'request.respond' more than once.
var resultWithTotalCount = {};
var mssqlCallbackCount = 0;
mssql.query(sql, {
success: function (results) {
console.log('result: ', results);
if (++mssqlCallbackCount == 1) {
// Result of first select
resultWithTotalCount.results = results;
} else {
// Result of the 'SELECT COUNT(*)'
resultWithTotalCount.count = results[0].count;
request.respond(200, resultWithTotalCount);
}
}
});
}
returns Total Count of rows in results like below:
{
"count":500,
"results":[
{"id":"first id","text":"Buy bread","complete":false},
{"id":"second id","text":"Buy milk","complete":true},
{"id":"third id","text":"Buy chocolate","complete":false},
]
}
JS API:
function read(query, user, request) {
var table = tables.current;
var queryComponents = query.getComponents();
var take = queryComponents.take;
var skip = queryComponents.skip;
var sql = 'SELECT id, text, complete FROM ' + table.getTableName();
sql = sql + ' ORDER BY text';
sql = sql + ' OFFSET ' + skip + ' ROWS ';
sql = sql + ' FETCH NEXT ' + take + ' ROWS ONLY';
// Adding the total count
sql = sql + '; SELECT COUNT(*) as [count] FROM ' + table.getTableName();
console.log('sql: ' + sql);
// Notice that there are two statements in the sql; that means that the
// callback to mssql.query will be called twice. Let's use some captured
// variables to identify when all responses have arrived so that we avoid
// calling 'request.respond' more than once.
var resultWithTotalCount = {};
var mssqlCallbackCount = 0;
mssql.query(sql, {
success: function (results) {
console.log('result: ', results);
if (++mssqlCallbackCount == 1) {
// Result of first select
resultWithTotalCount.results = results;
} else {
// Result of the 'SELECT COUNT(*)'
resultWithTotalCount.count = results[0].count;
request.respond(200, resultWithTotalCount);
}
}
});
}
相关文章推荐
- JavaScript 中 onload 事件绑定多个方法
- jsp中的多行注释,在注释js文件内容的时候与注释body里的内容时有区别
- JavaScript 的 BOM
- js 笛卡尔积算法与多重数组笛卡尔积的例子
- [JSP]JSP中include指令和include动作的区别
- IE下 js文件上传时拒绝访问问题
- firefox调试js时发现js的中文显示乱码
- javascript中十进制转十六进制代码
- 动态创建script在IE中缓存js文件时导致编码不正确bug
- bzoj 1013: [JSOI2008]球形空间产生器sphere
- JSON字符串与JSON对象的区别
- js小数运算出现多位小数如何解决
- 企业IM (或业务系统)web api的json格式设计思考(原创)
- js实现超酷的照片墙展示效果图附源码下载
- javascript学习之Date对象
- 浅析对JSF项目的单元测试
- 最全最实用的正则表达式大全分享
- SeaJS使用详细教程
- 使用Jsoup 抓取页面的数据
- Trigger a button click with JavaScript on the Enter key in a text box