Os desenvolvedores de back-end às vezes fazem coisas ruins, algo como um formulário com apenas entradas ocultas. Eu não gosto disso Isto é um exemplo:
<form action="/to/next/page">
<input type="hidden" name="next-page" id="next-page" value="3" />
<input type="submit" value="Next" />
</form>
Se você só tiver acesso à parte frontal e quiser melhorar a aparência, pode fazer algo assim:
Em primeiro lugar, transforme o formulário em um link
<a href="/to/next/page?next-page=3">Next</a>
Oh! Beleza!
Faça este pequeno código para interceptar o clique e enviar a postagem
$('#my-link').click(function() {
// Memo this to use latter
var myLink = $(this);
// Now i have the href content
var href = myLink.attr('href');
// And now i have a array, position 0 is our URL and position 1 is our params
var hrefSplited = href.split('?');
// Making the magic, turn my string params in a object
var params = JSON.parse('{"' + decodeURI(hrefSplited[1]).replace(/"/g, '\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}');
// Making the pot
// The first params is the first part of href, the url
$.post(hrefSplited[0],
params,
function(data){
alert('Success, link submited via post');
}
);
// Prevent the link to follow
return false;
});
É apenas um exemplo, talvez você possa encontrar outras implementações para:
var params = JSON.parse('{"' + decodeURI(hrefSplited[1]).replace(/"/g, '\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}');