部分javascript数组未发布到服务器
我目前有一个javascript数组,如下所示:部分javascript数组未发布到服务器,javascript,jquery,Javascript,Jquery,我目前有一个javascript数组,如下所示: Array[ 0: "text1" 1: "text2" 2: "text3" app_name: "text4" ] 奇怪的是,当我将数组打印到控制台时,它只表示它包含3项数组[3]但显然它有4项 当我在ajax上发布此数据时,app\u name不会被传输到服务器。这是因为它是一个对象而不是一个数组吗?如果是这样,我将如何将其发布到服务器。我不一定需要数字索引张贴以及,只是有关联的项目将是最好的
Array[
0: "text1"
1: "text2"
2: "text3"
app_name: "text4"
]
奇怪的是,当我将数组打印到控制台时,它只表示它包含3项<代码>数组[3]但显然它有4项
当我在ajax上发布此数据时,app\u name
不会被传输到服务器。这是因为它是一个对象而不是一个数组吗?如果是这样,我将如何将其发布到服务器。我不一定需要数字索引张贴以及,只是有关联的项目将是最好的
ajax代码:
$.ajax({
url: path + "my/api/path",
data: {"data": myarray},
dataType: 'json',
type: 'POST',
success: function(res) {
console.log(res);
}
});
编辑:我还应该提到我正在使用用于jquery的handsontable插件。这是we the
getData
函数从Spreadsheet返回数据的方法。虽然JavaScript中的数组是对象,但这并不意味着将命名属性分配给数组是明智的,就像您使用app\u name
所做的那样
数组长度始终只报告正确编号的索引元素(属性)的数量,而不报告其具有的任何命名属性
同样的问题也适用于JSON序列化:JSON序列化程序不会序列化数组的命名属性,因为JSON没有命名数组属性的概念
为了您的理智起见,我建议避免在数组上使用命名属性(虽然有时和有时它很有用,但您必须真正知道自己在做什么)。我可能会建议您重构代码:
var thing = {
arr: [ 'text1', 'text2', 'text3' ],
app_name: 'text4'
}
虽然JavaScript中的数组是对象,但这并不意味着向数组分配命名属性是明智的,就像您使用
app\u name
所做的那样
数组长度始终只报告正确编号的索引元素(属性)的数量,而不报告其具有的任何命名属性
同样的问题也适用于JSON序列化:JSON序列化程序不会序列化数组的命名属性,因为JSON没有命名数组属性的概念
为了您的理智起见,我建议避免在数组上使用命名属性(虽然有时和有时它很有用,但您必须真正知道自己在做什么)。我可能会建议您重构代码:
var thing = {
arr: [ 'text1', 'text2', 'text3' ],
app_name: 'text4'
}
虽然JavaScript中的数组是对象,但这并不意味着向数组分配命名属性是明智的,就像您使用
app\u name
所做的那样
数组长度始终只报告正确编号的索引元素(属性)的数量,而不报告其具有的任何命名属性
同样的问题也适用于JSON序列化:JSON序列化程序不会序列化数组的命名属性,因为JSON没有命名数组属性的概念
为了您的理智起见,我建议避免在数组上使用命名属性(虽然有时和有时它很有用,但您必须真正知道自己在做什么)。我可能会建议您重构代码:
var thing = {
arr: [ 'text1', 'text2', 'text3' ],
app_name: 'text4'
}
虽然JavaScript中的数组是对象,但这并不意味着向数组分配命名属性是明智的,就像您使用
app\u name
所做的那样
数组长度始终只报告正确编号的索引元素(属性)的数量,而不报告其具有的任何命名属性
同样的问题也适用于JSON序列化:JSON序列化程序不会序列化数组的命名属性,因为JSON没有命名数组属性的概念
为了您的理智起见,我建议避免在数组上使用命名属性(虽然有时和有时它很有用,但您必须真正知道自己在做什么)。我可能会建议您重构代码:
var thing = {
arr: [ 'text1', 'text2', 'text3' ],
app_name: 'text4'
}
使用JSON对象
var obj = {
app_name: "text4",
items: ["text1", "text2", "text3"]
};
使用JSON对象
var obj = {
app_name: "text4",
items: ["text1", "text2", "text3"]
};
使用JSON对象
var obj = {
app_name: "text4",
items: ["text1", "text2", "text3"]
};
使用JSON对象
var obj = {
app_name: "text4",
items: ["text1", "text2", "text3"]
};
数组计数从0索引开始,因此,显示的数组[3]是正确的。 要将app_数据发布到服务器,必须将app_数据分配到索引,然后重试,如下所示 3:应用程序数据 因为数组定义只对索引而不是字符串执行
希望这有帮助 数组计数从0索引开始,因此,显示的数组[3]是正确的。 要将app_数据发布到服务器,必须将app_数据分配到索引,然后重试,如下所示 3:应用程序数据 因为数组定义只对索引而不是字符串执行
希望这有帮助 数组计数从0索引开始,因此,显示的数组[3]是正确的。 要将app_数据发布到服务器,必须将app_数据分配到索引,然后重试,如下所示 3:应用程序数据 因为数组定义只对索引而不是字符串执行
希望这有帮助 数组计数从0索引开始,因此,显示的数组[3]是正确的。 要将app_数据发布到服务器,必须将app_数据分配到索引,然后重试,如下所示 3:应用程序数据 因为数组定义只对索引而不是字符串执行
希望这有帮助 数组只考虑具有数字和正索引的条目。长度属性将等于最大索引+1。如果您这样做:
var arr = [];
arr[20] = 'twenty';
您将看到arr.length
将为21,前20个条目将为undefined
我建议您使用一个对象来实现您的目的。数组只考虑具有数字和正索引的条目。长度属性将等于最大索引+1。如果您这样做:
var arr = [];
arr[20] = 'twenty';
您将看到arr.length
将为21,前20个条目将为undefined
我建议您使用一个对象来实现您的目的。数组只考虑具有数字和正索引的条目。长度属性将等于最大索引+1。如果您这样做:
var arr = [];
arr[20] = 'twenty';
您将看到arr.length
将为21,前20个条目将为undefined
我建议您使用一个对象来实现您的目的。数组只考虑具有数字和正索引的条目。长度属性将等于最大索引+1。如果您这样做:
var arr = [];
arr[20] = 'twenty';
您将看到arr.length
将为21,前20个条目将为undefi