Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача результата обработки клиенту (https://javascript.ru/forum/misc/2758-peredacha-rezultata-obrabotki-klientu.html)

sim 08.02.2009 02:49

Передача результата обработки клиенту
 
Написал некую (первую) программу на JS, она получает некоторую аналитическую информацию с карты. Результат, определенного вида текстовая строка. Несколько вопросов:

1. Есть ли ограничения на величину строки? Может ли она занимать несколько мегабайт?
2. Как лучше передать строку клиенту, чтобы он сам ее сохранил себе локально? Начитался о невозможности это делать из соображений безопасности, но по неопытности не все понял. Вариант сохранить (заархивировать) на сервере и дать клиенту ссылку мне подходит, но вот как это реализовать? Хотя бы ключевые слова, чтобы я дальше поискал.

Благодарю.

Zibba 08.02.2009 03:49

1. Ограничение - оперативная память и в некоторых случаях устройство браузера. Да может быть несколько мегабайт.
2. Локально из браузера никак сохранить нельзя. Только если это не в IE WSD вроде бы приложение (точно не помню, не знаток), но вот ссылка, недавно обсуждали похожую тему, только там нужно было создать на клиенте при помощи js архив http://javascript.ru/forum/misc/2718...khiv-v-js.html
Если же будете отправлять эти данные на сервер, то тогда копайте в сторону XMLHTTPrequest.

sim 08.02.2009 05:29

спасибо, эту ссылку я пропустил, но мне кажется эта тема тоже несколько отклонилась от цели

буду смотреть XMLHTTPrequest, я правильно понимаю, что его реализация разная для разных браузеров?

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

Zibba 08.02.2009 13:27

Почитайте статьи на сайте про AJAX и разберетесь с XMLHTTPrequest, ничего сложного в этом нет :)

Андрей Параничев 08.02.2009 16:19

Выводите строку в поле, пусть пользователь сам заботится, в каком виде её сохранить. Кстати, что за информации с карты берется, что результат занимает не один мегабайт? Может у вас в проектировании можно что-то изменить.

sim 09.02.2009 02:26

>Выводите строку в поле, пусть пользователь сам заботится, в каком виде её сохранить.
Да, сделал нечто подобное, только вывожу в новое окно. Правда столкнулся с новой проблемой, как сказать новой странице, что она XML, а не html.

>Кстати, что за информации с карты берется, что результат занимает не один мегабайт? Может у вас в проектировании можно что-то изменить.
Тут все ок, просто действительно много информации берется. Хотя можно наверное класть все в БД вместо строки, но пока хотел решить простую задачу. Только начал с этим разбираться.

Kolyaj 09.02.2009 12:21

Цитата:

Сообщение от sim
Как лучше передать строку клиенту, чтобы он сам ее сохранил себе локально?

Создаете форму, в одно из полей суете значение этой строки, отправляете на сервер. Скрипт на сервере выдает заголовок Content-Disposition: attachment; filename=string.txt и тупо вываливает строку. В браузере появляется окошко с предложением сохранить файл с именем string.txt и с вашей строкой в качестве содержимого. XMLHttpRequest тут нафиг не нужен.

sim 10.02.2009 06:49

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


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