Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2010, 20:30
Новичок на форуме
Отправить личное сообщение для daron Посмотреть профиль Найти все сообщения от daron
 
Регистрация: 07.05.2010
Сообщений: 9

формирование xml документа
здравствуйте сразу говорю я новичек в аякс и xml. такой вопрос. на стороне сервера при помощи пхп формируется xml документ состоящий из полей базы данных mysql а на стороне клиента при помощи жс выводится на страницу.все стандартно.но мене надо вывести поля в цикле .их много.
вот как я делаю к примеру

while($row->fetch_assoc()){
print "<text>";
print $row["text"];
print "</text>";
print "<user>";
print $row["user"];
print "</user>";
}
смысл как бы такой. но данные либо не выводятся когда я к ним обращаюсь при помощи жс, либо выводятся но не в цикле либо xml анализатор выдает ошибку..Вобще это я делаю список новостей .. Помогите если поняли меня. спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2010, 22:34
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

проще общаться через json: на сервере json_encode($data), а на клиенте - eval('('+data+')')
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2010, 22:38
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от x-yuri
а на клиенте - eval('('+data+')')
Непонятно, почему все eval используют. Function же лучше.
var res = new Function('return ' + json)();
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2010, 02:19
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну копируют друг у друга, видно. А чем Function лучше?
Ответить с цитированием
  #5 (permalink)  
Старый 19.12.2010, 07:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Заведомо не будет проблем с обфускаторами, т.к. не лезет в локальную область видимости.
Ответить с цитированием
  #6 (permalink)  
Старый 19.12.2010, 10:07
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну как бы то, что кодируется с помощью json_encode не должно лезть в локальную область видимости. Я бы даже сказал, не может по определению. Но, в общем-то, если исходить из цели "написание библиотечной функции" и народной мудрости "мало ли что пользователь передаст", то да, так лучше

p.s. видимо, никто на эти грабли пока не наступал, либо наступал, но не громко Либо может из-за совместимости не меняют, хотя я такие варианты с трудом представляю...
Ответить с цитированием
  #7 (permalink)  
Старый 19.12.2010, 15:09
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от x-yuri
ну как бы то, что кодируется с помощью json_encode не должно лезть в локальную область видимости.
Обфускатор об этом не знает.
Ответить с цитированием
  #8 (permalink)  
Старый 19.12.2010, 17:54
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

подожди... то, что закодировано с помощью json_encode... там нечему лезть в локальную область видимости. Там только данные... Ведь проблемы могут возникнуть, если там не только данные, так?
Ответить с цитированием
  #9 (permalink)  
Старый 20.12.2010, 01:01
Новичок на форуме
Отправить личное сообщение для daron Посмотреть профиль Найти все сообщения от daron
 
Регистрация: 07.05.2010
Сообщений: 9

спасибо за совет с json! но теперь у меня возникла такая проблема с сервера приходит строка примерно с таким содержанием
var response={"admin":"leo"}{"admin":"alex"} ;
var resobj=eval("("+response+")");

jsona как бы 2 потому что на сервере эта строка записывалась в цикле.
теперь мне нужно добраться к данным . но я не могу это сдлеать через
resobj.admin ,так как json состоит из 2 частей..подскажите пожалуста что сделать чтоб на экран выводилось оба имени админа leo alex
Ответить с цитированием
  #10 (permalink)  
Старый 20.12.2010, 01:10
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

сначала готовишь данные, а потом выводишь все вместе с помощью json_encode($data)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с парсингом XML Verhal Общие вопросы Javascript 2 12.06.2010 22:25
Как удалить из памяти весь XML документ? EisBerg Events/DOM/Window 1 03.04.2010 14:45
Изменение текста в XML (не удаленный, но править нельзя) Qwe2Qwe Общие вопросы Javascript 3 28.02.2010 12:44
Взаимодействие пользовательской формы с БД XML Hag1989 Работа 8 16.02.2010 18:09
Не получается загрузить xml из php Alekson jQuery 2 08.07.2009 09:33