Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.04.2012, 20:22
Кандидат Javascript-наук
Отправить личное сообщение для aleks_lv Посмотреть профиль Найти все сообщения от aleks_lv
 
Регистрация: 23.04.2010
Сообщений: 105

формат JSON ответ сервера
Ответ сервера приходит в формате JSON.Но приходят два объекта в таком плане
{"0":"1","nomer":"1","1":"2012-04-11","date":"2012-04-11","2":"4","month":"4","3":"2012","year":"2012","4":"hello 4","note":"hello 4"}
{"0":"7","nomer":"7","1":"2012-03-14","date":"2012-03-14","2":"3","month":"3","3":"2012","year":"2012","4":"hello3","note":"hello3"}

Функция eval не справляется для обработки запроса -вставки данных на страницу
var answer= eval("(" +  request.responseText + ")");

Как поступить в таком случае
Ответить с цитированием
  #2 (permalink)  
Старый 14.04.2012, 21:19
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от aleks_lv
Как поступить в таком случае
Предавать данные в формате JSON.
То, что вы привели в примере,это не JSON.
Не помню название функции в РНР приводящей хеши к подобному строковому виду.
А для чтоб это расшифровать пишите свой парсер.

Последний раз редактировалось dmitriymar, 14.04.2012 в 21:25.
Ответить с цитированием
  #3 (permalink)  
Старый 14.04.2012, 21:25
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от dmitriymar
не помню название функции в РНР какая приводит хеши к подобному строковому виду
похоже эта http://php.net/manual/ru/function.serialize.php
Ответить с цитированием
  #4 (permalink)  
Старый 14.04.2012, 21:45
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Не,не сериализация.
Ответить с цитированием
  #5 (permalink)  
Старый 14.04.2012, 21:51
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от Pavel M.
похоже эта http://php.net/manual/ru/function.serialize.php
да, ошибся не тот формат
Ответить с цитированием
  #6 (permalink)  
Старый 14.04.2012, 22:02
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

похоже на два отдельных объекта json
если их обрамить квадратными скобками и поставить между ними запятую, то получится массив из двух объектов
var str = '[{"0":"1","nomer":"1","1":"2012-04-11","date":"2012-04-11","2":"4","month":"4","3":"2012","year":"2012","4":"hello 4","note":"hello 4"},{"0":"7","nomer":"7","1":"2012-03-14","date":"2012-03-14","2":"3","month":"3","3":"2012","year":"2012","4":"hello3","note":"hello3"}]';

var arr = JSON.parse(str);

alert(arr[0].date);
Ответить с цитированием
  #7 (permalink)  
Старый 14.04.2012, 22:15
Кандидат Javascript-наук
Отправить личное сообщение для aleks_lv Посмотреть профиль Найти все сообщения от aleks_lv
 
Регистрация: 23.04.2010
Сообщений: 105

Код:
json_encode($rows) ;
вот это PHP функция
Ответить с цитированием
  #8 (permalink)  
Старый 14.04.2012, 22:26
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

может быть json_encode просто выполнился два раза и выдал две отдельных строки в формате json ?
Ответить с цитированием
  #9 (permalink)  
Старый 14.04.2012, 22:40
Кандидат Javascript-наук
Отправить личное сообщение для aleks_lv Посмотреть профиль Найти все сообщения от aleks_lv
 
Регистрация: 23.04.2010
Сообщений: 105

Код:
............
 $select="SELECT * FROM data WHERE month='$month' AND year='$year'"; 
 $res=mysql_query($select);
 if( mysql_num_rows ($res))
 while($rows=mysql_fetch_array($res))
 {
   echo json_encode($rows) ;

 }
Происходит выборка с базы данных ..выбирается 2-10строк и отправляется в клиентскую часть и приходит ,если 2 строки выбрано -то 2 объекта ,3-то 3 объекта..когда одна строка ,то проблем нима..функция eval и данные на страницу...а как когда чытыре объекта приходит...
Ответить с цитированием
  #10 (permalink)  
Старый 14.04.2012, 22:51
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

str='{"0":"1","nomer":"1","1":"2012-04-11","date":"2012-04-11","2":"4","month":"4","3":"2012","year":"2012","4":"hello 4","note":"hello 4"}';
var arr = JSON.parse(str);
alert(arr.date);



var str='{"0":"1","nomer":"1","1":"2012-04-11","date":"2012-04-11","2":"4","month":"4","3":"2012","year":"2012","4":"hello 4","note":"hello 4"}';
var arr = JSON.parse(str);
alert(arr.0);


var str='{"0":"1","nomer":"1","1":"2012-04-11","date":"2012-04-11","2":"4","month":"4","3":"2012","year":"2012","4":"hello 4","note":"hello 4"}';
var arr = eval("(" +str+ ")");
alert(arr["0"]);
arr = JSON.parse(str);
alert(arr["0"]);

Разница понятна?
У вас не JSON.
При преобразовании подобного набора данных (хеша) средствами js в json, вы получите строки абсолютно по другому выглядящие

Сообщение от aleks_lv
Происходит выборка с базы данных ..выбирается 2-10строк и отправляется в клиентскую часть и приходит ,если 2 строки выбрано -то 2 объекта ,3-то 3 объекта..когда одна строка ,то проблем нима..функция eval и данные на страницу...а как когда чытыре объекта приходит...
Ну как это нет проблем? Вы абсолютно не представляете себе что такое ясон и его формат. А чтоб работало-отсылайте массив объектов где элементы массива это массивы(объекты )собранные из данных строк.

Последний раз редактировалось dmitriymar, 14.04.2012 в 23:07.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ответ сервера не сохраняется в глобальную переменную cyberpunk AJAX и COMET 2 06.03.2012 11:57
IE не распознает ответ от сервера в формате JSON DIMANSIM Internet Explorer 0 26.11.2011 22:08
Chrome firbug ответ с сервера nyols Общие вопросы Javascript 2 05.08.2011 12:19
Ответ сервера в плугине ajaxForm отдается неправильно. IgorOk jQuery 11 13.12.2009 04:35
Ajax - JSON - не распознает пришедший ответ Майский Кот jQuery 1 14.05.2009 00:40