尝试将SVG对象的javascript数组保存到SQL

尝试将SVG对象的javascript数组保存到SQL,javascript,sql,ajax,json,asp.net-mvc-3,Javascript,Sql,Ajax,Json,Asp.net Mvc 3,我正在使用HTML5中的SVG创建一个白板应用程序,javascript使用SVG元素的javascript数组操纵SVG元素,以跟踪白板上的形状 现在,我正试图将所有内容保存在白板上,因此javascript形状数组中的每个SVG对象都将使用ASP.NET MVC 3作为服务器端保存到SQL中 我想通过序列化整个javascript数组并将其作为字符串保存到SQL来解决这个问题,然后在加载图形时对其进行反序列化并将其添加到当前的shapes数组中 现在我想我们一直在尝试使用JSON.strin

我正在使用HTML5中的SVG创建一个白板应用程序,javascript使用SVG元素的javascript数组操纵SVG元素,以跟踪白板上的形状

现在,我正试图将所有内容保存在白板上,因此javascript形状数组中的每个SVG对象都将使用ASP.NET MVC 3作为服务器端保存到SQL中

我想通过序列化整个javascript数组并将其作为字符串保存到SQL来解决这个问题,然后在加载图形时对其进行反序列化并将其添加到当前的shapes数组中

现在我想我们一直在尝试使用JSON.stringify来实现这一点,但运气不好,导致了这个错误

Uncaught TypeError: Converting circular structure to JSON
下面是脚本代码

$("#save").click(function () {
    var request = $.ajax({
        url: "/Drawing/SaveDrawing",
        type: "POST",
        data: { s: JSON.stringify(shapes) },
        dataType: "json"
    });
});

欢迎所有想法,只希望我的问题有点清楚

要序列化SVG,不要使用JSON;而是使用XML:

var xml = (new XMLSerializer).serializeToString(mySVGElement);

它已经有好几年了,所以我添加它只是为了供参考,但是有一个非STD实现需要序列化


它们现在可能已经标准化了(XML序列化程序)

这个错误意味着你的结构不是一个非循环图。根据目前还没有这方面的标准,但是主要的浏览器都支持它谢谢你的回复,这是我需要的解决方案。