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

时间:2012-01-29 14:42:55

标签: javascript sql ajax json asp.net-mvc-3

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

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

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

现在我一直在尝试使用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"
    });
});

欢迎所有想法,希望我的问题有点明确

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

已经好几年了,所以我只是作为一个FYI添加这个,但是有一个非STD实现来序列化 What is the best way to serialize SVG from the client DOM?

它们现在可以标准化(XML序列化程序)