|
|
|
jQuery-File-Upload + Spring MVC != IE6
|
|||
|---|---|---|---|
|
#18+
Использую jQuery-File-Upload UI для загрузки файлов на сервер с контроллером на Spring. На FF работает нормально, на IE6 тоже работает, но не обрабатывается ответ от контроллера. IE предлагает сохранить ответ JSON в файл :(. Я понимаю ответ толжен быть обработан UI компонентом, а он выпадет на сохранение. Вроде пишут, что IE 6 не распознаёт JSON и нужно ответу менять Content-type на text/html. Проверял не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 15:07:12 |
|
||
|
jQuery-File-Upload + Spring MVC != IE6
|
|||
|---|---|---|---|
|
#18+
Ох уж этот ie6, давно пора запретить его законом. А в более актуальных версиях проверяли? У меня в IE вполне себе работает Код: java 1. На приемной стороне правда сторонний AjaxUpload. Но в 6 проверить не могу, а был ли этот код в проекте, когда имелся IE6 - уже не помню. А вот кстати код из этого AjaxUpload, относящийся к IE6, может что-то прояснит (см.комментарии): Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 15:45:26 |
|
||
|
jQuery-File-Upload + Spring MVC != IE6
|
|||
|---|---|---|---|
|
#18+
Ну то есть вроде получается, что браузеры оборачивают ajax - ответы 'text/javascript' в <pre> и только IE6 так не делает. Возможно, jQuery-File-Upload этого не учитывает. Значит, вам надо на стороне сервера обернуть свой json, предварительно узнав тип браузера: Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 16:08:24 |
|
||
|
jQuery-File-Upload + Spring MVC != IE6
|
|||
|---|---|---|---|
|
#18+
ivanra, Блин, я в контроллере использую @ResponceBody, а Spring сам заворачивает в JSON. Я пробовал менять ContentType, но видно при обработке @ResponceBody он перезатирается. Придётся искать как вручную собирать JSON :(. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 16:57:41 |
|
||
|
jQuery-File-Upload + Spring MVC != IE6
|
|||
|---|---|---|---|
|
#18+
ivanraНу то есть вроде получается, что браузеры оборачивают ajax - ответы 'text/javascript' в <pre> и только IE6 так не делает. Возможно, jQuery-File-Upload этого не учитывает. Значит, вам надо на стороне сервера обернуть свой json, предварительно узнав тип браузера: Уточнение. Я активно использую jquery ajax запросы, в ответ формируются ответы в JSON и никаких проблем (в IE6 в том числе) с приёмом JSON не наблюдается. Думаю, проблема в IE с ответом только для запросов типа UPLOAD ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 17:05:38 |
|
||
|
jQuery-File-Upload + Spring MVC != IE6
|
|||
|---|---|---|---|
|
#18+
Советую сначала взять какой-нибудь современный браузер со средствами разработки и посмотреть ответ сервера. А дальше - в исходики jQuery-File-Upload - смотреть что ему там не хватает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 17:07:52 |
|
||
|
jQuery-File-Upload + Spring MVC != IE6
|
|||
|---|---|---|---|
|
#18+
ivanra, ivanra, Каменный цветок не вышел :(. У меня возвращается json объект, другого способа пока не знаю. Если отправлять json c content-type=text/html, Browser IE6 перестаёт предлагать скачать ответ в виде attachment, но jQuery-File-Upload ломается где-то внутри, т.к. не может обработать ответ. Пробовал заворачивать json в pre, но потом дочитался, что в примере ответ был в 'application/javascript' (погуглю в эту сторону). Опыта с JQuery у меня пока не много :(, а jQuery-File-Upload большой и по-моему проблема в jquery, который text/html не будет парсить как json, отсюда и ошибка разбора и получения ответа. Ещё пороюсь немного и попробую искать другую библиотеку :(. Даже не знаю с чего начать. Если на каждой либе терять по 3 дня, так можно и умереть раньше, чем напишешь программу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2013, 00:50:29 |
|
||
|
jQuery-File-Upload + Spring MVC != IE6
|
|||
|---|---|---|---|
|
#18+
Шаров Сергейivanra, Блин, я в контроллере использую @ResponceBody, а Spring сам заворачивает в JSON. Я пробовал менять ContentType, но видно при обработке @ResponceBody он перезатирается. Придётся искать как вручную собирать JSON :(. ivanra, Решение найдено для IE6 Принцип: Если гора не идёт к Магомету, то Магомет идёт к горе. Если IE6 не понимает json, то почему бы не использовать XML. jQueryFileUpload имеет опцию dataType. Везде в примерах использеутся JSON, я собрал контроллер, который возвращает XML. Настроил опцию dataType: "xml" и получил в объекте запроса XML дерево для последующей обработки. Но.... опять ошибка. IE принимает XML но ничего не делает с ним. Тогда я принялся за dataType: "text". Только он и смог пройти через IE6 в JqueryFileUpload. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Контроллер на Spring3 Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Перебор для IE6 различных Content-Type, привел к тому с чего начал - передаётся назад компоненте jQueryFileUpload только текст text/html или text/plain, а в тексте лучше всего JSON. При этом если в тексте передавать xml, то он портится броузером, в тексте появляются пробелы и лишние знаки, после чего распарсить в xml эту строку уже нельзя :(. Криворукий M$. Да и зачем дважды преобразовывать text -> xml -> json, лучше сразу text -> json. На стороне сервера JavaBean -> String JSON с использованием ObjectMapper от fastxml. На стороне клиента text -> JSON с использованием jQuery.parseJSON. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2013, 05:52:28 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38245904&tid=2129417]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
68ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 268ms |
| total: | 464ms |

| 0 / 0 |
