powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax-запрос с последующей заменой текущего документа на полученный html
18 сообщений из 18, страница 1 из 1
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456442
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача такая. Есть форма для загрузки файлов и кнопка "submit".
Без участия скриптов при нажатии на кнопку файлы отправляются на сервер (вместе с данными прочих полей) и загружается страница, указанная в атрибуте "action" формы. Всё как положено.

Задача такая:
1) С помощью скриптов вклиниться в процесс отправки файлов и до момента загрузки страницы, указанной в атрибуте "action", отображать индикатор загрузки файлов
2) Всё прочее поведение, кроме индикатора, должно быть точно таким же, как и без участия скриптов
Т.е. в итоге должна быть загружена та страница, которая указана в атрибуте "action"

Очевидно, что задачу не решить без ajax-запроса
Вопрос в том, как скриптами в текущее окно загрузить новую страницу после получения ответа от сервера ? Чтобы выглядело это так, как будто запрос был обычный.

Возможные варианты:
1) Редирект на страницу, указанную в атрибуте "action", делать нельзя, т.к. придётся повторно отправлять файлы + сервер будет повторно обрабатывать тот же запрос
2) Просто заменить html-код текущей страницы на тот, что получен от сервера, тоже нельзя, т.к. URL тоже должен измениться
3) Заменить html-код текущей страницы на тот, что получен от сервера + изменить location. В этом случае мы получим полностью идентичную ситуация, что и без участия скриптов ?
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456452
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02Задача такая. Есть форма для загрузки файлов и кнопка "submit"...
Остальное можно не читать. Как устроено, так и устроено. В этом контексте "скрипты" - вообще ни при чём.
Вопрос таки - а что нужно-то? Только не предлагайте свои рецепты, а задайте вопрос что хотите получить.
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456458
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВопрос таки - а что нужно-то?
Добавить индикатор загрузки файлов скриптами. Всё остальное должно остаться без изменений
Чтобы не ждать неопределённое количество времени (пока передаются файлы), а видеть индикатор загрузки

Индикатор добавить - не проблема, ajax-запрос - не проблема. Проблема в том, что делать, когда будет получен ответ от сервера ?
Для пользователя всё должно выглядеть так, как будто загрузилась новая страница с ответом от сервера
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456561
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02...Индикатор добавить - не проблема ajax-запрос - не проблема....
Индикатор добавить - можно фейковый (не проблемв), а ответ от сервера - калбек называется (тоже не проблема). А в чём проблема?
Чё-то подхачить хочется? Из того, что Вы написали нифига не понятно, ну да, стандартное поведение.
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456659
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА в чём проблема?
Что делать, когда будет получен ответ от сервера ?
Для пользователя всё должно выглядеть так, как будто загрузилась новая страница с ответом от сервера
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456697
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02Проблема в том, что делать, когда будет получен ответ от сервера ?
Почему бы просто не сменить document.location?
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456698
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeИндикатор добавить - можно фейковый
А можно и не фейковый: New Tricks in XMLHttpRequest2 .
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456751
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПочему бы просто не сменить document.location? На сервер будет отправлен повторный запрос, причём без файлов
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456804
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02авторПочему бы просто не сменить document.location? На сервер будет отправлен повторный запрос, причём без файлов
И что? Это стандартная работа по протоколу HTTP, когда в ответ на POST приходит Location ресурса и мы к нему переходим.

Замечание "причём без файлов" не понятно. Какие могут быть файлы в GET запросе?
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456806
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или в ответ прилетает редирект и браузер его выполняет.
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456914
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ что? Это стандартная работа по протоколу HTTP, когда в ответ на POST приходит Location ресурса и мы к нему переходим.
Замечание "причём без файлов" не понятно. Какие могут быть файлы в GET запросе?
Т.е. после фоновой загрузки файлов вы предлагаете показывать клиенту ту страницу, которую генерирует сервер при отсутствии загружаемых файлов ?
Вроде как должна отображаться та страница, которую сервер генерирует после загрузки выбранных пользователем файлов. И без повторных запросов.
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456932
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02авторИ что? Это стандартная работа по протоколу HTTP, когда в ответ на POST приходит Location ресурса и мы к нему переходим.
Замечание "причём без файлов" не понятно. Какие могут быть файлы в GET запросе?
Т.е. после фоновой загрузки файлов вы предлагаете показывать клиенту ту страницу, которую генерирует сервер при отсутствии загружаемых файлов ?
Вроде как должна отображаться та страница, которую сервер генерирует после загрузки выбранных пользователем файлов. И без повторных запросов.
Нет, я как раз таки предлагаю перейти на страницу, что должна быть показана после загрузки выбранных файлов.
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39456933
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот с какой целью Вы передаете Location страницы, что генерирует сервер при отсутствии загружаемых файлов, мне не понятно.
Может если делать по стандарту, то и трудностей меньше будет? :)
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39457382
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНет, я как раз таки предлагаю перейти на страницу, что должна быть показана после загрузки выбранных файлов. О том и речь. Эту страницу имеет смысл показывать только одновременно с отправкой файлов, т.к. эта страница содержит результаты загрузки файлов. А изменив Location, мы выполним GET-запрос без отправки файлов. Вопрос: зачем тогда менять Location в данном случае ?

авторА вот с какой целью Вы передаете Location страницы, что генерирует сервер при отсутствии загружаемых файлов, мне не понятно.Я где-то сказал, что передаю клиенту Location ???
Это же вы утверждаете, что POST-запрос выполняется в 2 этапа - сначала отправляются файлы, в ответ сервер передаёт клиенту Location, клиент отправляет ещё один - GET - запрос на этот Location и сервер уже отдаёт страницу с результатами загрузки файлов. И это ваши слова:
автор И что? Это стандартная работа по протоколу HTTP, когда в ответ на POST приходит Location ресурса и мы к нему переходим. Насколько я представляю, POST-запросы выполняются единым атомарным запросом и файлы передаются вместе с этим запросом. Безо всяких возвратных Location и без повторных GET-запросов
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39457385
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одним словом, анекдот " Тук-тук. Сиди, я сам открою... "
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39457455
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02, послушайте, ну хотя бы википедию можно было уже прочитать: https://en.wikipedia.org/wiki/HTTP_location HTTP LocationThe HTTP Location header field is returned in responses from an HTTP server under two circumstances: 1. To ask a web browser to load a different web page (URL redirection). In this circumstance, the Location header should be sent with an HTTP status code of 3xx. It is passed as part of the response by a web server when the requested URI has:
    Moved temporarily; Moved permanently; or Processed a request, e.g. a POSTed form, and is providing the result of that request at a different URI
2. To provide information about the location of a newly created resource. In this circumstance, the Location header should be sent with an HTTP status code of 201 or 202.
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39457464
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Другими словами: принято создавать новые ресурсы на сервере POST запросом, а для новых ресурсов принято возвращать их Location на сервере, чтобы сторона, что запостила данные, была в курсе, где их теперь спросить у сервера.

Конечно Вы вольны реализовать любое другое поведение :)
...
Рейтинг: 0 / 0
ajax-запрос с последующей заменой текущего документа на полученный html
    #39457471
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спецификацию также можете почитать: https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5
9.5 POSTIf a resource has been created on the origin server, the response SHOULD be 201 (Created) and contain an entity which describes the status of the request and refers to the new resource, and a Location header (see section 14.30 ).
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax-запрос с последующей заменой текущего документа на полученный html
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]