jQuery:如何在没有ajax的情况下点击链接后发布数据?

时间:2014-10-18 14:51:37

标签: javascript jquery post

我的页面中有以下链接:

<a href='/post/view/12' id='93' class='notification_link'>your post</a>
<a href='/post/view/13' id='112' class='notification_link'>your post</a>

每当用户点击上述任何链接时,我都需要将链接的ID(例如93)和帖子ID(例如12)发布到(/ post / view)页面。但我不想通过ajax这样做。我希望被重定向到/ post / view页面,就像用户点击了链接一样。到目前为止,我已经提出了以下代码,但不知道如何继续。任何建议将不胜感激。

$(document).ready(function(){
    $(document).on("click", '.notification_link', setNotification);
});

function setNotification(e){
    targetUrl = $(this).attr('href');
    id = $(this).attr('id');
    $.post(targetUrl, { id: $(this).attr('id'), view_id: "12" }, null);
    return false;
};

2 个答案:

答案 0 :(得分:2)

如果你真的想在没有ajax的情况下这样做,那么你可以试试这个......

function setNotification(e){
    targetUrl = $(this).attr('href');
    id = $(this).attr('id');
    $('<form/>').append('<input name="id" value="'+ id +'"/><input name="view_id" value="12"/>').attr('action', targetUrl ).attr('method', 'POST').appendTo('body').submit();

    return false; 
};

答案 1 :(得分:0)

在类似的场景中,我使用cookie来保存我不希望出现在URL中的值。将处理程序放在mousedown事件中,以便在新页面开始加载之前创建cookie。

jQuery('a.notification_link').mousedown(function () {
    var myid = jQuery(this).attr('id');

    //here save in a cookie, you can use your own code to save in a cookie
    create_cookie('notification_link', myid, 0);
});

您可以在后面的代码中以及在客户端中获得此值。