Como explicitamente NÃO reenvie o formulário ao recarregar?

1

Ao tentar recarregar / atualizar uma página após o envio de um formulário, este pop-up é exibido:

Mas tem apenas duas opções: continuar ou cancelar. E se eu quiser recarregar, mas NÃO reenviar o formulário?

    
por clickbait 26.09.2016 / 00:17

1 resposta

1

bem, você não pode realmente. Tudo isso é baseado na maneira como o site é codificado. Mesmo se você pudesse fazer isso, você provavelmente faria sua sessão.

O que você pode fazer algumas vezes, é colocar o cursor na barra de endereços do navegador e apertar enter. Isso normalmente fará com que você seja redirecionado para outra página, no entanto, se o site estiver bem codificado e, caso contrário, colocará sua sessão com o servidor em um estado instável. Não é realmente uma situação que você quer estar.

Você está recebendo a mensagem porque seu navegador está enviando um POST em vez de um GET.

Por padrão, um navegador reenvia o estado do último comando enviado para o servidor, que neste caso é um POST, cujo resultado era um documento; o mesmo documento que você deseja recarregar.

Isso é comum quando várias páginas são vinculadas a um envio de várias etapas (um "assistente"). A preservação de informações de estado em várias páginas (como o endereço de cobrança inserido na etapa 2) exige itens como cookies, memória de sessão do lado do servidor e valores de formulário.

Os valores do formulário são o problema, pois eles não são enviados em um GET, de modo que as informações seriam perdidas se você atualizasse a página com um GET, em vez de um POST contendo as informações necessárias para gerar a página carregada ( ou estão sendo definidos no lado do servidor na memória da sessão).

Existem dois problemas gerais com a publicação de um formulário uma segunda vez. O primeiro perigo é que o processamento já aconteceu no servidor, e solicitar que o processamento seja executado novamente seria ruim (como ordenar o mesmo item duas vezes).

O segundo é que os dados podem estar sendo acumulados no lado do servidor como resultado de suas postagens, e você pode duplicar esses dados. isso é semelhante a adicionar um item ao seu carrinho uma vez, mas descobrir que há duas instâncias dele. Como isso aconteceu de forma anormal, fora do fluxo esperado do aplicativo, o desenvolvedor pode não ser capaz de explicar o estado anormal dos dados, causando uma falha de algum tipo ou executando uma ação mais vezes do que o desejável.

    
por 26.09.2016 / 03:56