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

ela*_*xsj 7 jquery

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

我想通过prev_idnext_id以test.php的为好.(这些变量的目的是创建next/prev按钮;列表可以由用户排序,因此没有简单的方法来查找test.php内部.)

但是,我不希望prev_id并且next_id在用户的URL中可见.我可以像这样格式化href:

<a href="test.php?id=1" prev_id="5" next_id="45">
Run Code Online (Sandbox Code Playgroud)

并使用JQuery"劫持"链接,将ID保持为URL中的GET,但发送prev_idnext_idtest.php作为POST?

Eri*_*ldi 5

也许这是你的代码:

 <a id="link" href="test.php?id=1" prev_id="5" next_id="45">
Run Code Online (Sandbox Code Playgroud)

和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;
});
Run Code Online (Sandbox Code Playgroud)

  • 嗨,在将"test.php"改为`$(this).attr("href")`之后,正确的信息被传递到页面.但是我希望点击*转到*实际页面,而不是在警告框中显示它!该怎么办? (2认同)

Jay*_*ena 2

你可以使用jquery post

调用一个函数通过 onClick 事件发布您的数据,

 <a onClick="postdata()" prev_id="5" next_id="45">
Run Code Online (Sandbox Code Playgroud)

和 jquery 代码

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