Препятствуйте тому, чтобы Кнопка "Назад" показала предупреждение подтверждения POST

Это WORKS ..

Помните, что в первый раз, когда вы напечатаете передаваемое значение, вы получите нуль, вы можете использовать его после загрузки Windows, то же самое для всего, что вы хотите кодировать для любого другого компонента.

Первый контроллер

try {
                                Stage st = new Stage();
                                 FXMLLoader loader = new FXMLLoader(getClass().getResource("/com/inty360/free/form/MainOnline.fxml"));

                                Parent sceneMain = loader.load();

                                MainOnlineController controller = loader.<MainOnlineController>getController();
                                controller.initVariable(99L);

                                Scene scene = new Scene(sceneMain);
                                st.setScene(scene);
                                st.setMaximized(true);
                                st.setTitle("My App");
                                st.show();
                            } catch (IOException ex) {
                                Logger.getLogger(LoginController.class.getName()).log(Level.SEVERE, null, ex);
                            }

Другой контроллер

public void initVariable(Long id_usuario){
        this.id_usuario = id_usuario;
        label_usuario_nombre.setText(id_usuario.toString());

    }
39
задан bignose 1 May 2009 в 05:59
поделиться

4 ответа

Один окольный путь это должно перенаправить POST к странице, которая перенаправляет к ПОЛУЧЕНИЮ - видит , Отправляют/Перенаправляют/Входят Википедию .

Говорят, что Ваш POST является 4K данных формы. По-видимому, Ваш сервер делает что-то с теми данными вместо того, чтобы просто отобразить его однажды и выбросить его, такие как сохранение его в базе данных. Продолжайте делать это, или если это - огромная поисковая форма, создают временную копию его в базе данных, которая очищена после нескольких дней или на основе LRU, когда предел пространства используется. Теперь создайте представление данных, с помощью которые можно получить доступ, ДОБИРАЮТСЯ. Если это является временным, генерируйте идентификатор для него и использование что как URL; если это - постоянный набор данных, это, вероятно, имеет идентификатор или что-то, что может использоваться для URL. В худшем случае алгоритм как крошечное использование URL может свернуть большой URL к намного меньшему. Перенаправьте POST для ПОЛУЧЕНИЯ представления данных.

<час>

Как исторический очерк, эта техника была установленная практика в 1995 .

28
ответ дан sourcejedi 12 November 2019 в 13:31
поделиться

См. мое золотое правило веб-программирования здесь:

данные Остановки, вставляющие в базу данных дважды

, Это говорит: “Never когда-либо отвечают телом к запросу POST. Всегда делайте работу и затем отвечайте Местоположением: заголовок для перенаправления к обновленной странице так, чтобы браузер запросил это с GET”

, Если браузер когда-нибудь спрашивает пользователя о переPOST, веб-приложение, повреждается. Пользователь никогда не должен видеть этот вопрос.

37
ответ дан Community 12 November 2019 в 13:31
поделиться

Один способ избежать, чтобы предупреждение/поведение состояло в том, чтобы сделать POST через Ajax, затем отправьте пользователя в другую страницу (или не) отдельно.

3
ответ дан Sparr 12 November 2019 в 13:31
поделиться

у меня есть приложение, которое предоставляет длинный список параметров к веб-странице, таким образом, я должен использовать POST вместо, ДОБИРАЮТСЯ. Проблема состоит в том, что, когда страница отображена и пользователь нажимает Кнопку "Назад", Firefox разоблачает предупреждение:

Ваше обоснование является неправильным. Если запрос без побочных эффектов, это должно быть, ДОБИРАЮТСЯ. Если это имеет побочные эффекты, это должен быть POST. Выбор не должен быть основан на количестве параметров, которые необходимо передать.

1
ответ дан troelskn 12 November 2019 в 13:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: