我正在通过jQuery ajax将JSON发送到Node服务器。我的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 = []; }
谢谢,
好吧,问题在于您正在创建 一个阵列, 然后像处理对象一样继续使用它。
用
user.regions[a] = {};
代替。
发生的是JSON.stringify看到一个数组,尝试遍历它没有的数字索引,因此导致一个空数组。
JSON.stringify
JSFiddle上的示例:http : //jsfiddle.net/Le80jdsj/