Тема: JSON или XML
Показать сообщение отдельно
  #13 (permalink)  
Старый 23.05.2010, 15:06
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,576

Может мы о разном говорим?
Имею обработчик ajax-запроса:
$str = "Каждая
в своей
строке";
if (isset($_POST['how'])) {
	$how = $_POST['how'];
	if ($how == 'json') {
          // передаю json - экранирую
	  echo 'var x = "' . str_replace("\r\n" , "\\\r\n" , $str) . '";';
	} else {
          // передаю html
          echo '<div>' . $str . '</div>';
    }
}


В textarea мне надо получить этот текст (состоящий из 3-х строк)

Вот запрос на html:
function whatdo()
{
    // действия
  $.post('./listener.php' , {how : 'html'}, function(data){
	var txt = $(data).text();
	$('textarea').val(txt); // получим как в php было - три строки
  });
}

- все ОК.

Вот запрос на json:
function whatdo2()
{
    // действия
  $.post('./listener.php' , {how : 'json'}, function(data){
	try {
	  eval(data);
	  $('textarea').val(x); // получим все в одну строку
	} catch(e) {
	  alert('ошибка');
	} 

  });
}

- отрабатывает без ошибки, но результат в textarea - одна слитая строка, а не три. Т.е. по простому сделать(как вариант 1.) не выходит. Или что делаю не так?
Ответить с цитированием