Javascript 将HTML div放入数据库中
我想将一个HTMLdiv(及其所有内容)放入一个JSON对象中,并将其保存到一个数据库中 我的div看起来像这样:Javascript 将HTML div放入数据库中,javascript,jquery,pouchdb,Javascript,Jquery,Pouchdb,我想将一个HTMLdiv(及其所有内容)放入一个JSON对象中,并将其保存到一个数据库中 我的div看起来像这样: <div class="easel"> <div class="square" style="background-color: white;"></div> <div class="square" style="background-color: white;"></div> <div cl
<div class="easel">
<div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: rgb(85, 222, 25);"></div><div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: rgb(164, 101, 52);"></div><div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: rgb(214, 15, 77);"></div><div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: white;"></div>
<div class="square" style="background-color: white;"></div>
</div>
但它似乎没有达到我想要的效果,我在控制台中遇到了以下错误:Uncaught DataCloneError:未能对“IDBObjectStore”执行“put”:无法克隆对象。
我需要做什么来存储此div信息,以便稍后将其返回到页面中?您不能将HTML元素直接存储在数据库中;您只能直接存储JSON。因此,在存储之前,您需要将div转换为某种数据结构格式。您可能希望使用
$('.easel').HTML()
获取HTML,而不是将元素作为对象。但可能与您的问题无关。它现在看起来正在节省,所以谢谢您。我从数据库中提取的结果如下所示:Promise{cancel:function,[[PromiseStatus]]:“已解析”,[[promisesvalue]]:Object}cancel:function(){returnthis}\uuuu proto\uuu:PromiseStatus[[PromiseStatus]]:“已解析”[[promisesvalue]]:Objectoffset:0rows:Array[3]total_rows:3_uuuproto_uuuu:Object您知道如何使用[[PromiseValue]]获取div数组吗?您是否使用jQuerys Ajax或Angulars$http来执行get请求?您列出的那些方法只是在调用中承诺的,看起来不像来自服务器的实际数据。不,我不是。从数据库文档()中可以看到,db.allDocs是我所需要做的全部。啊,对不起。我看到了你的新问题,没有意识到你就是这样得到结果的。我没有使用数据库的经验,所以我会让其他人回答,祝你好运!
window.saveBoard = function() {
var db = new PouchDB('tiles');
var remoteCouch = false;
var current_layout = $('.easel');
var new_board = {
_id: new Date().toISOString(),
board: current_layout
}
db.put(new_board, function callback(err, result) {
if(!err) {
console.log("Successfully saved new board.");
}
})
}