Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.06.2015, 15:09
Аспирант
Отправить личное сообщение для kilohertz_. Посмотреть профиль Найти все сообщения от kilohertz_.
 
Регистрация: 07.12.2014
Сообщений: 31

Двумерный массив
Есть код (ниже), который собирает данные из формы, создает из этого двумерный массив и отправляет и на сервер. Нооо, на выходе мы получаем это:
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";
				//}
			}
		}

Последний раз редактировалось kilohertz_., 22.06.2015 в 15:12.
Ответить с цитированием
  #2 (permalink)  
Старый 22.06.2015, 15:25
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

В javascript нет двумерных массивов, есть массивы, элементами которх являются массивы.
"info[i]['name']" - это вообще не массив, вы пытаетесь заполнять его как объект. В javascript нет асоциативных массивов, есть объекты, которые почти то же самое.
Ответить с цитированием
  #3 (permalink)  
Старый 22.06.2015, 15:30
Аспирант
Отправить личное сообщение для kilohertz_. Посмотреть профиль Найти все сообщения от kilohertz_.
 
Регистрация: 07.12.2014
Сообщений: 31

Все это я знал и так. Но что-то мне это не помогло. Так что вопрос открыт :С
Ведь все заполнилось. Почему длина равна 0? Почему на сервер не передается?
Ответить с цитированием
  #4 (permalink)  
Старый 22.06.2015, 15:36
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

info[i] = {};
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 22.06.2015, 18:54
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

kilohertz_.,

for (var i = 0, info = ''; i < elements.length; i++) {
	info += 'info[' + i + '][name]=' + encodeURIComponent(elements[i].name) + '&';
	info += 'info[' + i + '][value]=' + encodeURIComponent(elements[i].value) + '&';
}
.....
xhr.send(info);
.....

$_POST['info']
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
занести в двумерный массив JHUS jQuery 4 17.10.2014 12:56
Создать двумерный массив и заполнить maternik Общие вопросы Javascript 3 19.10.2013 20:25
ДвумернЫй массив в базу и обратно Alexonus Общие вопросы Javascript 7 13.03.2013 19:05
Задачки на двумерный массив rjabijj Серверные языки и технологии 1 03.07.2012 09:06
Задачки на двумерный массив rjabijj Элементы интерфейса 2 02.07.2012 18:58