Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS (https://javascript.ru/forum/misc/4664-chto-vybrat-xml-ili-json-dlya-peredachi-ajax-om-iz-php-v-js.html)

Gozar 11.08.2009 21:01

Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS
 
Добрый вечер, суть такая:

Нужно получать из php(mysql) данные посредством ajax запросов.
Данные предполагаются такого строения:
Код:

object = "1"
id = "1"
name = "Бабушка была к козлику очень добра, <b>любила козла</b>"
flag = "0"
krakozyabry = "ロザリ"

...
object = "700"
id = "700"

Объектов может быть разное количество, но думаю не больше 500 за раз.
name - может содержать html - форматирование
krakozyabry - могут содержать символы %,:"'? и т.д.

Не могу никак догнать в каком виде передавать объекты.
JSON легче переводиться в js, но только на первый взгляд.
Данные необходимо будет жестко проверять на стороне js, дабы чего дурного не случилось, а json как мне известно переводиться в js-объект eval-ом.
Вот в этом моменте меня сильно клинит и я склоняюсь к xml, но многие считают парсинг xml js-ом извратом и к томуже при парсинге большого xml возможны тормоза на стороне клиента.

Если кто поможет разобраться, буду благодарен.

Octane 11.08.2009 21:16

Используйте JSON. В новейших браузерах есть встроенный одноименный объект для более эффективной и быстрой работы, ну а для пользователей старых браузеров используйте проверенный временем скрипт с сайта http://json.org/, если стандартного eval недостаточно.

Kolyaj 11.08.2009 21:19

Цитата:

Сообщение от Gozar
думаю не больше 500 за раз.

Какой ужас.

Цитата:

Сообщение от Gozar
Данные необходимо будет жестко проверять на стороне js, дабы чего дурного не случилось

А что может случится? Ошибка возникнет? Дык если вы xml неправильный вернете, тоже ошибка возникнет.

Вобщем JSON.

Gozar 11.08.2009 21:31

Чего дурного имелось в виду, что данные будут пихаться в базу всеми, кому ни попадя.

Вопрос не простой и это лишь его малая часть.
Основная тема: проектирование cms работающей на ajax.

Kolyaj 11.08.2009 21:32

Цитата:

Сообщение от Gozar
Чего дурного имелось в виду, что данные будут пихаться в базу всеми, кому ни попадя.

А как это зависит от формата передаваемых данных?

Цитата:

Сообщение от Gozar
проектирование cms работающей на ajax.

Это не вопрос, а задача.

Gozar 11.08.2009 21:40

Цитата:

Сообщение от Kolyaj
А как это зависит от формата передаваемых данных?

Не хотелось бы при начале пути шагать по неустойчивой почве.
Насколько я знаю, чем сложнее система, тем большая лажа может произойти, больше вероятность допустить ошибку. Поэтому выбираю наиболее простой вариант.

Kolyaj 11.08.2009 21:46

Очевидно сделать eval полученным данным и получить JS-объект проще, нежели парсить XML.

Gozar 11.08.2009 21:53

Цитата:

Сообщение от Kolyaj
Очевидно сделать eval полученным данным и получить JS-объект проще, нежели парсить XML.

Я с этим не спорю, я сам тоже самое написал в первом посте, меня беспокоила безопасность при превращении передаваемых данных в объект.

Kolyaj 11.08.2009 21:55

Но вы не ответили, какая может быть опасность.

Gozar 11.08.2009 21:57

XSS

Данные пройдут сложную схему:
Код:

пользователь(html)->php->mysql->php->js->(html)админ
и на этой дорожке нельзя ошибаться.


Часовой пояс GMT +3, время: 01:46.