我发现了一个叫做"sql.js“的工具,它可以直接从javascript访问sqlite数据库。但是为了使用它,用户端必须首先拥有sqlite数据库文件。在我的情况下,数据库在服务器端维护。所以我的问题是:如何将sqlite数据库文件从服务器端移动到用户端javascript,以便用户端可以利用这个"sql.js“来访问数据库?在Ajax调用中可以这样做吗?任何示例代码都将不胜感激!
发布于 2015-05-05 18:54:43
我认为文档中的这个example不是在提出问题时添加的:
<script src='js/sql.js'></script>
<script>
var xhr = new XMLHttpRequest();
xhr.open('GET', '/path/to/database.sqlite', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
var uInt8Array = new Uint8Array(this.response);
var db = new SQL.Database(uInt8Array);
var contents = db.exec("SELECT * FROM my_table");
// contents is now [{columns:['col1','col2',...], values:[[first row], [second row], ...]}]
};
xhr.send();
</script>请记住,如果您的数据库很大,那么SQL.js可能并不合适。
(部分原因是您必须将数据库传输给用户,另一部分原因是SQL.js is memory hungry,因此您最好还是在服务器上运行查询。)
https://stackoverflow.com/questions/26416431
复制相似问题