|
|
|
Непобеждённый JSON
|
|||
|---|---|---|---|
|
#18+
вот тебе еще наводка оба кода верхний и этот рабочие Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 12:16 |
|
||
|
Непобеждённый JSON
|
|||
|---|---|---|---|
|
#18+
Да, stringify в последней редакции test.html я использовал некорректно, т.к. передал ему строку вместо объекта, запарился. Теперь всё работает с обоими методами =) qwerty2012 , если я правильно понял, Вы просто заменили в JSON коде Decimal кодами следующие последовательности? 1. \" 2. \/ Я чуть раньше делал то же самое, и у меня JSON.parse() не хотел работать, видать я где-то опечатку в коде делал. Вопрос решён. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 12:44 |
|
||
|
Непобеждённый JSON
|
|||
|---|---|---|---|
|
#18+
Климов ДмитрийДа, stringify в последней редакции test.html я использовал некорректно, т.к. передал ему строку вместо объекта, запарился. Теперь всё работает с обоими методами =) qwerty2012 , если я правильно понял, Вы просто заменили в JSON коде Decimal кодами следующие последовательности? 1. \" 2. \/ Я чуть раньше делал то же самое, и у меня JSON.parse() не хотел работать, видать я где-то опечатку в коде делал. Вопрос решён. Спасибо! нет не в этом дело в первом примере который я испаравил было так сначачала дата это строка вида джесон потом в эту же дату присваеваеться обьект как результат data = $.parseJSON(data); а тут дата уже обьект которые перегоняеться в строку data = JSON.stringify(data); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 13:08 |
|
||
|
Непобеждённый JSON
|
|||
|---|---|---|---|
|
#18+
Вобщем рано я радовался... Получается бредовая ситуация, как ни крути. Опишу ситуацию в целом: 1. Есть html шаблон, в котором идёт вызов JS ф-ции (с единственным аргуметом): Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. При сборке страницы контсрукцию [:JSON_CODE:] php скрипт заменяет строкой JSON кода. Если быть уверенным в том, что php скрипт при всех условиях будет работат идеально и без ошибок, то контсрукцию [:JSON_CODE:] одинарными кавычками можно не обрамлять, и myFunction() может слепо пробовать работать с переданным аргументом как с объектом JSON, без использования JSON.parse или $.parseJSON Однако стоит скрипту ошибиться и выдать вместо валидного JSON какую-нибудь ерунду, как JS молча отомрёт. Поэтому я решил добавить одинарные кавычки обрамляющие [:JSON_CODE:], чтобы быть уверенным в том, что JS функция myFunction() получит аргумент ТОЛЬКО В ВИДЕ СТРОКИ, что позволит проверять валидность её содержимого уже средствами JS. И исходя из результатов этой проверки, либо сообщить об ошибке, либо продолжать работу. Но не умирать молча. Но получается такая хрень (как показала практика): чтобы переданный в виде обрамленной одинарными кавычками JSON спарсился, он не должен содержать в себе конструкций \" и \/ . Их товарищ qwerty2012 заменил соотвтествующими decimal кодами. После замены этих конструкций, парсинг JSON проходит отлично, но строки из распарсеного объекта JSON содержавшие в себе html тэги "портятся", т.к. decimal представления в них "остаются собой" и не преобразуются ни в " ни в /, соответственно html тэги в этих строках херятся. В итоге, после парсинга такого JSON, эти коды нужно отлавливать в разных местах и преобразовывать обратно к нормальному виду регулярками, что не удобно: в разных местах сайта генерируеются JSON разных конструкций, который обрабатывается множеством разных не связанных между собой ф-ций... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 15:02 |
|
||
|
|

start [/forum/topic.php?fid=22&gotonew=1&tid=1448449]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
210ms |
get topic data: |
13ms |
get first new msg: |
7ms |
get forum data: |
4ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 549ms |

| 0 / 0 |
