数据库你以为离前端很远,其实他就在我们身边,WEB SQL 你值得拥有
web sql 兼容性:
三个核心方法:
openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。
transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。
executeSql:这个方法用于执行实际的 SQL 查询。
// 打开一个数据库,如果没有,就创建一个
// 数据库名称 版本号 描述文本 数据库大小 创建回调
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024,function(){
});
// 调用 transaction 生成 tx 数据库操作对象
db.transaction(function (tx) {
// executeSql 像mysql 一样操作 数据
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "123")');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "321")');
});
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) { // 回调方法 返回 结果
var len = results.rows.length, i;
msg = "<p>查询记录条数: " + len + "</p>";
document.querySelector('#status').innerHTML += msg;
for (i = 0; i < len; i++){
alert(results.rows.item(i).log );
}
}, null);
});
功能作用
1、缓存 前端数据(那种不在变更的数据,例如:日志、操作记录)
2、减少服务器压力
3、提高前端用户体验 及效率
4、跨组件数据交互
5、无后端应用
融入项目
融入到ajax请求里面,
1、根据一个配置参数,配置是否将返回的数据库存入数据库,
2、根据配置是否先在数据库里面进行数据查询,如果有就返回数据库数据,不再进行接口请求