如何将深层数据作为数组或对象发送?

时间:2019-04-11 08:30:07

标签: javascript node.js

我将这样的所有乘客信息与输入名称放在一起:

  <p> <i className="far fa-edit"> OK </i>  </p>

当我这样发布信息时,他们并没有像我们在php中那样获得对象或数组。因此,我不知道该怎么做,因为我需要所有这些信息。

我试图将数据名设为passenger[1][name] passenger[1][surname] passenger[1][idnumber] passenger[2][name] passenger[2][surname] passenger[2][idnumber] ,但出现另一个问题。

如何在键名中使用变量名?

passenger_1_name吗?

2 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是

let passengerName = 'john', passengerSurname = 'doe';
let passengers = [];
passengers.push({name: passengerName, surname: passengerSurname})

发出

[
  {
    "name": "john",
    "surname": "doe"
  }
]

答案 1 :(得分:0)

在PHP中可能无法获得多维数组,但是下面的输入名称将为您解决问题。

passenger_name[]
passenger_surname[]
passenger_idnumber[]

您不需要在输入名称中分配键,浏览器会处理。

在服务器端,对于具有相同键的每个信息,您将获得三个不同的数组,您可以循环访问单个数组并根据键获取其他对应的值。

var passenger = [];
for(i=1;i<=form.passenger_name.length;i++){
    passenger['name'][] = form.passenger_name[i];
    passenger['surname'][] = form.passenger_surname[i];
    passenger['idnumber'][] = form.passenger_idnumber[i];
} 

console.log(passenger);