jquery JSON Stringify从对象中删除数据

bmp9r5qi  于 2023-08-04  发布在  jQuery
关注(0)|答案(2)|浏览(110)

我正在通过jQuery AJAX 向Node服务器发送JSON。我的jQuery AJAX 正在工作。见下文。

var user = JSON.stringify(userObject);
$.ajax({
        type: 'POST',
        url: 'http://localhost:5000/save',
        contentType: 'application/json',
        dataType: 'json',
        data: user
    })
    .done(function(data) {
        console.log(data.link, 'here is the link');
        callback(data.link);
    })
    .fail(function(err) {
        console.log(err);
        callback(err);
    });

字符串
我的问题是,当我控制台日志用户,一个已经被字符串化的JSON对象,我在数组中丢失了信息。我正在丢失的对象的部分看起来像这样。


的数据
它在控制台中以字符串形式显示如下:



存储在父用户对象内的那些数组内的信息没有被存储。任何关于为什么会这样的建议都会有所帮助。如果你有任何替代方法,我可以用它通过jQuery AJAX 发送这个数据结构,请让我知道。

编辑区域创建位置如下:

// Add regions to the bracket layout object
        user.regions = [];
        for (var a = 0; a < 2; a++) {
            user.regions[a] = [];
            user.regions[a].columns = [];
        }


谢谢你,

d6kp6zgx

d6kp6zgx1#

好吧,问题是你正在创建一个数组,然后继续像处理一个对象一样处理它。
使用方式

user.regions[a] = {};

字符串
得双曲余切值.
JSON.stringify看到有一个数组,试图迭代它没有的数字索引,结果得到一个空数组。
JSFiddle示例:http://jsfiddle.net/Le80jdsj/

guz6ccqo

guz6ccqo2#

我来到这里似乎与JSON.stringify丢失数据相同的问题。虽然当我使用console.Log()时,我会看到数据存在。
PSA让我们都同意记住确保同步逻辑不在异步函数中♂️

相关问题