Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Двумерный массив (https://javascript.ru/forum/misc/56556-dvumernyjj-massiv.html)

kilohertz_. 22.06.2015 15:09

Двумерный массив
 
Есть код (ниже), который собирает данные из формы, создает из этого двумерный массив и отправляет и на сервер. Нооо, на выходе мы получаем это:
array(3) {
  [0]=>
  array(0) {
  }
  [1]=>
  array(0) {
  }
  [2]=>
  array(0) {
  }
}

[Array[0], Array[0], Array[0]]
0: Array[0]
length: 0
name: "login"
value: ""
__proto__: Array[0]
1: Array[0]
length: 0
name: "type"
value: "login"
__proto__: Array[0]
2: Array[0]
length: 0
name: "password"
value: ""
__proto__: Array[0]
length: 3
__proto__: Array[0]


var info = new Array();
		for(var i=0; i<elements.length; i++) {
			info[i] = [];
			info[i]['name'] = elements[i].name;
			info[i]['value'] = elements[i].value;
		}

		var xhr = new XMLHttpRequest();
		xhr.open('POST','/profile.php',true);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xhr.send(JSON.stringify(info));
		console.log(info); 
		xhr.onreadystatechange = function() {
			if(xhr.readyState == 4) {
				//var response = JSON.parse(xhr.responseText);
				console.log(xhr.responseText); 
				//if(response.status == true) {
				//	absolute_windows.hide();
				//} else {
				//	document.getElementById('login-loader').style.display = "none";
				//}
			}
		}

tsigel 22.06.2015 15:25

В javascript нет двумерных массивов, есть массивы, элементами которх являются массивы.
"info[i]['name']" - это вообще не массив, вы пытаетесь заполнять его как объект. В javascript нет асоциативных массивов, есть объекты, которые почти то же самое.

kilohertz_. 22.06.2015 15:30

Все это я знал и так. Но что-то мне это не помогло. Так что вопрос открыт :С
Ведь все заполнилось. Почему длина равна 0? Почему на сервер не передается?

nerv_ 22.06.2015 15:36

info[i] = {};


Часовой пояс GMT +3, время: 22:19.