0

我有这段代码来序列化我的 JSON 数据。

    <div>
            <!-- cut out HTML for brevity -->
            <div class="divwidth">
                <input type="button" onclick="javascript:postBackPart($(this).parent().parent().attr('id'));" value="Test Me" />
            </div>
    </div>

<script type="text/javascript">
    function postBackPart(div_id) {
        $.ajax({
            url: '/Parts/Edit2',
            type: 'POST',
            data: $('#' + div_id).serialize(),
            success: function (result) {
            }
        });

        return false;
    }
</script>

现在我看到其他帖子和网站使用 toJSON、stringfy 或序列化。我应该使用哪一个?我应该使用哪种方案而不是另一种方案?

注意:我使用的是 ASP.NET MVC 3,此代码来自 MVC 3 应用程序。

4

1 回答 1

1

.serialize()不创建 json 序列化,而是创建 url 参数序列化。见http://api.jquery.com/serialize/

如果使用toJSON,则必须在对象上定义。所以原生 JavaScript 对象将支持这一点。但你自己的不一定。

最好的方法是使用JSON.stringify(value[, replacer [, space]])我想。它在任何可用的地方调用toJSON,让对象决定它的 json 表示应该是什么样子。

它还允许通过指定要序列化的属性和可选的替换功能来进行更高的定制。

于 2012-08-02T15:05:58.143 回答