ti-enxame.com

Usando o POST Método com tags de âncora HTML

Tenho certeza de que a resposta será "NÃO", mas eu queria perguntar de qualquer maneira apenas , caso eu tenha perdido alguma coisa.

Todo mundo sabe que um passa dados para uma página em uma tag de âncora usando O método GET:

O que eu estou querendo saber é se havia uma maneira de fazer a mesma coisa, mas usar O métodoPOST em vez disso?

Meu objetivo ao fazer isso é manter as URLs que o usuário vê limpas por não colocar Nada nelas que elas não precisem ver.

Isso não tem nada a ver com questões de segurança, como eu já sei que seriam maneiras de obter os dados que estão sendo passados.

Se a resposta for de fato não, então, que métodos as pessoas usam para transmitir dados Quando há um desejo de manter as URLs limpas? Biscoitos? Algo mais?

e como lidar com os cenários quando o tamanho da URL excede o tamanho da solicitação GET permitida

Estou enfrentando esse problema ao implementar classificação/paginação com displaytag, todos os parâmetros de solicitação são anexados no URL de classificação/paginação, que é mais do que o comprimento permitido da solicitação GET.

21
dpsdce

Você poderia fazer algo assim:

<form id="myform" method="post" action="target.html">
  <input type="hidden" name="name" value="value" /> 
  <a onclick="document.getElementById('myform').submit();">click here</a>
</form>
35
loscuropresagio

Esse comportamento é específico para exibir a biblioteca de tags. Ele permite resultados de pesquisa fáceis de marcar. Se você realmente pretende mudar isso para fazer uso do POST, então você precisa reescrever a biblioteca de tags de exibição ou trazer alguns jQuery para manipular os links.

O resto de suas perguntas não chega a lugar nenhum. Se você quiser GET (solicitações idempotentes, URLs que podem ser marcados, URLs rastreáveis ​​por busca, etc), então use GET. Se você quiser POST (solicitações não idempotentes, URLs não marcáveis, URLs não rastreáveis, etc.), use POST. 

Normalmente, POST é obrigatório quando o pedido pode modify os dados no servidor. Pense em um SQL INSERT, UPDATE, DELETE, etc. Você certamente não fará esse tipo de requisição GET. Imagine que você tem uma tabela com todos os links "delete row" que GET e, em seguida, um searchbot vem ...

5
BalusC

Você pode usar o javascript. No onclick do link do form.submit

A única maneira que conheço para lidar com URLs longos é usar POST.

3
PrasadB

Você pode criar um formulário temporário e enviá-lo durante o evento onclick da tag <a>.

0
Selvakumar Ponnusamy