AJAX возвращение массива 
		
		
		
		Вот у меня есть аякс запрос: 
	
setInterval(function() {
  $.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   data: "cvet=dav_vod_k_1",
   dataType: "text",
   async: false,
   success: function (data){color = data;},
   error: function(){alert('Problem');}
 }).responseText;
}, 1000);
Возможно ли в этом запросе получать из файла php массив значений, сформированный в нем? Если да - то с точки зрения синтаксиса как реализовать.  | 
	
		
  | 
	
		
 Опишу ситуацию подробнее. 
	Вот содержимое пхп файла (к которому обращается аякс запрос): 
$MASSIV["dav_vod_k_1"] = array("cvet"=>dav_vod_k_1($row1, 1), "znach"=>dav_vod_k_1($row1, 0));
$MASSIV["tem_ugaz_1"] = array("cvet"=>tem_ugaz_1($row1, 1), "znach"=>tem_ugaz_1($row1, 0));
return $MASSIV[];
То-есть пхп файл возвращает массив. Этот массив передается соответственно сюда: 
setInterval(function() {
  $.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   data: "cvet=dav_vod_k_1",
   dataType: "text",
   async: false,
   success: function (data){color = data;},
   error: function(){alert('Problem');}
 }).responseText;
}, 1000);
То-есть в переменную data. Так вот как с ним работать дальше в JS???  | 
	
		
 ОЙ блин, тяжелый случай. 
	Почитайте про AJAX лучше. JS получает то что выводится (echo, print, printf и т.д.) а не return. 
$str = '"dav_vod_k_1":{"cvet":"'.dav_vod_k_1($row1, 1).'","znach":"'.dav_vod_k_1($row1, 0).'"},';
$str .= '"tem_ugaz_1":{"cvet": "'.tem_ugaz_1($row1, 1).'","znach":"'.tem_ugaz_1($row1, 0).'"}';
echo '({'.$str.'})';
А в JS уже пишите: var obj = eval(data); и обращаетесь так: obj.dav_vod_k_1.cvet Как то так короче. Но почитайте получше про AJAX Ну а потом и про JSON (ссылка выше)  | 
	
		
 про ajax прочитал все давно. Просто ни в одном источнике было написано что return тоже работает. На практике же нет..... 
	И я так опнел что вы предлагаете работать со строкой. Щас попробую разобратся.  | 
	
		
 вот простой пример JSON: 
	
var str = '({"name":"Valik","age":"20","country":"Moldova"})'; // К примеру строка которая приходит от сервера
var user = eval(str); // Превращаем так сказать строку в объект
alert(user.name+', '+user.age+' лет, '+user.country); // Обращаемся к свойствам объекта
 | 
	
		
 Цитата: 
	
 У меня возвращается массив в виде JSON: [ {"type":"email","subtype":"","contact":"9651139 383 @mail.ru","ext":""}, {"type":"email","subtype":null,"contact":"alex@ bab iev.com","ext":""}, {"type":"tel","subtype":"","contact":"123","ext ":" "}, {"type":"tel","subtype":"","contact":"123","ext ":" "} ] Я его обрабатываю так: var contacts = eval(str) Попробовал по аналогии обратиться к значениям так alert(contacts.type); Но я получаю undefined. Массим многомерный. Обычно с массивами я работаю так contacts[ключ][ключ], но с JS имею дело крайне редко и не могу понять как надо работать с объектами. Подскажите как обращаться к этим элементам? Например, если я хочу обратиться к этим значениям: {"type":"tel","subtype":"","contact":"123","ext ":" "}, то как мне это нужно сделать ?  | 
	
		
 Во-первых, не нужно использовать eval. Для разбора json есть специальный метод: JSON.parse. Например, такой код упадет с синтаксической ошибкой: 
	
eval('{"type":"tel","subtype":"","contact":"123","ext ":" "}')
Во-вторых, если запрос Цитата: 
	
  | 
	
		
 Цитата: 
	
 Т.е. в твоём случае так: alert(contacts[0].type);  | 
	
		
 
var data = [{
    "type": "email",
    "subtype": "",
    "contact": "9651139 383 @mail.ru",
    "ext": ""
  }, {
    "type": "email",
    "subtype": null,
    "contact": "alex@ bab iev.com",
    "ext": ""
  }, {
    "type": "tel",
    "subtype": "",
    "contact": "123",
    "ext ": " "
  }, {
    "type": "tel",
    "subtype": "",
    "contact": "123",
    "ext ": " "
  }];
  for (var el, i = 0; i < data.length; i++) {
    el = data[i];
    alert(el.type + "\r\n" + el.subtype + "\r\n" + el.contact + "\r\n" + el.ext);
  }
 | 
| Часовой пояс GMT +3, время: 13:02. |