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)админ
и на этой дорожке нельзя ошибаться.

Kolyaj 11.08.2009 22:01

И причем здесь XSS?

Gozar 11.08.2009 22:18

Я на предыдущей странице расписал, просто мне сложно четко формулировать суть, голова забита проектированием системы в целом.
Я Вас уважаю за Ваши знания, но я уже получил ответ на свой вопрос.
Хотя приятно было побеседовать :-)

Kolyaj 11.08.2009 22:23

Да не вы первый, у кого я пытаюсь выяснить опасность JSON, никто не признаются, но говорят, что опасно.

Gozar 11.08.2009 22:37

В JSON опасности столько же сколько в столбе стоящем на обочине дороги.
Просто у меня были небольшие сомнения в реализации механизма передачи данных от php к js.

B~Vladi 12.08.2009 11:00

Зависит от того, что вы будете передавать. Для голой html-разметки JSON ну никак не подходит.

Kolyaj 12.08.2009 11:47

Для голой html разметки и XML не нужен, о структурированных данных речь все-таки.

B~Vladi 12.08.2009 12:21

Я не увидел (xml ещё ничего не говорит), какие конкретно данные предполагается передавать, поэтому и сделал такое замечание.

Kolyaj 12.08.2009 12:37

Цитата:

Сообщение от B~Vladi
Я не увидел

В первом сообщении.

B~Vladi 12.08.2009 13:33

аха, туплю... тогда json:)

x-yuri 14.08.2009 09:05

Цитата:

Сообщение от Kolyaj
Да не вы первый, у кого я пытаюсь выяснить опасность JSON, никто не признаются, но говорят, что опасно.

это, наверное, связано с интерфейсы для парсинга json, а особенно с "When writing privileged code, such as extensions, be careful to not just eval JSON strings (any strings, actually) from untrusted source.". Но только я не могу представить конкретных ситуаций, где это актуально

Gozar 16.08.2009 23:36

Итак, внедрение прошло успешно, пациент жив, полёт нормальный :-)


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