Просмотр полной версии : Передача параметра на стороне сервера минуя один файл ...
Такая проблема. Есть файл 1.htm в котором есть форма, в ней поле воода. Есть ещё один файл 2Fr.htm в котором описаны два фрэйма Fr1.asp и Fr2.asp. Происходит передача параметра вводимого в форме файла 1.htm в фрэйм Fr2.asp.
Вопрос: Как мне получить этот параметр на стороне сервера в файле Fr2.asp?
Хотелось бы избежать такоговарианта, как: Файл 2Fr.htm делать asp'шным и в нём получать этот параметр, а потом передавать через адресную строку или так же через форму.
Хотелось бы избежать такоговарианта, как: Файл 2Fr.htm делать asp'шным и в нём получать этот параметр, а потом передавать через адресную строку или так же через форму.
1. Не избежишь. Тебе все равно придется сделать обработчик формы asp'шным. Будет ли это именно фреймсет -- не так уж важно (к примеру, можно посадить обработчик между формой и фреймсетом и передать переменную в сессии, но это только хуже).
2. Чем тебе не нравится это решение?
Сабж, хотя возможно и я не правильно вас понял (тормажу малость после ночи).
Есть цепочка:
файл с формой --> файл с описанием фрэймов (frameset) --> файл фрэйма
Дак вот. я понимаю, что обработчик параметров обязательно должен быть asp'шным. В мойм случае файл фрэйма asp'шный.
Ну дак вот я хотел узнать как мне получить параметр передаваемый с первого звена цепочки в третьем звене, минуя второе звено? Т.е. чтобы файл содержащий описание фрэймов не был asp'шным и не обрабатывал параметр с дальнейшей его передачей в фрэйм.
Оригинал написал(а) LaGor
Дак вот. я понимаю, что обработчик параметров обязательно должен быть asp'шным.
Под обработчиком параметров понимается тот файл, на который указывает атрибут action тэга <form>.
Лучше всего -- если это будет фреймсет промежуточная форма, которая отредиректит на фреймсет. Это спасет от побочных эффектов при Refresh'е фреймсета.
Проще всего -- сделать обработчиком сам фреймсет. Это сохраняет естественную последовательность загрузки файлов.
Можно сделать обработчиком сам фрейм. А на стороне клиента Javascript'ом проверять наличие фреймсета и при его отсутствии -- редиректить. Но придется сделать во фрейме защиту от повторной активациит обработчика.
Так что лучше -- первое или второе решение.
Если честно, то третее я немного не понял
Можно сделать обработчиком сам фрейм. А на стороне клиента Javascript'ом проверять наличие фреймсета и при его отсутствии -- редиректить. Но придется сделать во фрейме защиту от повторной активациит обработчика.
И чём отличается первый вариант от второго? Ведь и во-втором предётся передовать параметр. После обработки всё равно что-то останется либо результат, либо тот же параметр.
После обработки всё равно что-то останется либо результат, либо тот же параметр.
Не факт. Если тебе нужны параметры для того, чтобы их обработать и выдать ответ, то ты можешь при первом обращении -- с параметрами -- провести обработку и сохранить результат в сессии. ри втором обращении -- без параметров -- вынуть результат из сессии и показать.
Минусы этого варианта очевидны, но работать это извращение будет.
Лучше всего -- если это будет фреймсет промежуточная форма, которая отредиректит на фреймсет. Это спасет от побочных эффектов при Refresh'е фреймсета.
А можно этот вариант на примере разобрать?
И ещё ни у кого не возникало такого? Я недавно установил MSIE 6.0 и теперь он почему-то просить загрузить некоторые asp-файлы на винт. Причём избирательно. Никто не знает в чём дело. Я так понял, что у него (IE) , на некоторые типы файлов стоит защита, потому и спрашивает (ну на exe к примеру), но при чём тут .asp я понять не могу. Подскажите кто знает.
Оригинал написал(а) LaGor
А можно этот вариант на примере разобрать?
Имеем:
form.html
action.asp
frameset.html
frame1.asp
frame2.asp
В form.html имеем тэг <form action="action.asp">
В action.asp:
1. Принимаем параметры.
2. Выполняем обработку.
3. Сохраняем в сессии результат.
4ю Редиректим на frameset.html
В frame*.asp:
1. Берем из сессии результат обработки. Не забываем обработать ситуацию с отсутствием разультата (юзер нажал Refresh когда сессия уже умерла).
2. Отображаем результат.
И ещё ни у кого не возникало такого? Я недавно установил MSIE 6.0 и теперь он почему-то просить загрузить некоторые asp-файлы на винт.
Если соглашаешься -- что оказываетяс в файле? Исходник или отрендеренный код?
В принципе, такое поведение является нормальным, если внутри asp был выставлен content-type отличный от text/html.
А без сохранения в сессии. Именно передача параметра. И обработка тоже так не пойдет так как этот параметр обрабатывается и сразу получается в результате его обработке результат, большой результат, который и нужно отобразить в фрэйме.
По поводу второго вопроса. Извиняюсь, вопрос отменяется, просто я тормоз (устал уже). Я asp файл запускал не через сервер, а с винта :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.