JQuery - 将POST变量添加到href链接

时间:2011-08-11 07:16:14

标签: jquery

在表格中我有这样的链接:test.php?id=1

我也希望将prev_idnext_id传递给test.php。 (这些变量的目的是创建next / prev按钮;列表可以由用户排序,因此没有简单的方法可以找到test.php内部。)

但是,我不希望在用户的网址中显示prev_idnext_id。我可以像这样格式化href:

<a href="test.php?id=1" prev_id="5" next_id="45">

并使用JQuery“劫持”链接,将ID保留为URL中的GET,但将prev_idnext_id作为POST发送到test.php?

3 个答案:

答案 0 :(得分:5)

也许这是你的代码:

 <a id="link" href="test.php?id=1" prev_id="5" next_id="45">

和jquery代码

$("a#link").click(function(){

    $.post("test.php",
       {
         prev_id: $(this).attr("prev_id"),
         next_id: $(this).attr("next_id")
       },
       function(data) {
         alert("Data Loaded: " + data);
       }
    );

    return false;
});

答案 1 :(得分:2)

你可以使用jquery post

调用函数通过onClick事件发布数据,

 <a onClick="postdata()" prev_id="5" next_id="45">

和jquery代码

function postdata(){
    $.post("test.php", { id: "1", next_id: "2" },
       function(data) {
         alert("Data Loaded: " + data);
       });
}

答案 2 :(得分:1)

我发现做这种事情的最简单方法是动态地将表单添加到您的页面然后提交它:

$('body').append('<form id="myawesomeform"></form>');
$('#myawesomeform').attr('action','test.php?id=1');
$('#myawesomeform').attr('method','post"');
$('#myawesomeform').append('<input type="hidden" name="prev_id" id="prev_id" value="5">');
$('#myawesomeform').append('<input type="hidden" name="next_id" id="next_id" value="45">')
$('#myawesomeform').submit();