jquery将数据属性发布到下一页

时间:2013-07-24 19:09:31

标签: jquery ajax post custom-data-attribute

我正在尝试将存储在data-attr中的数据发布到下一页,这是我的代码

首先,我将类和data-attr添加到所有锚标签中,如下所示:

jQuery("a").addClass("wptl_link");
jQuery('a').attr('data-wptl_ip', '<?php echo $_SERVER['REMOTE_ADDR']; ?>');

我在上传时检查了我的源代码,这样可以正常工作。

我想为每个锚标记添加功能,将该锚点的data-attr提交到下一页。

我现在不太清楚该怎么做。我读过.ajax和.post,不确定区别是什么?

我是否需要执行以下操作:

jQuery.ajax({
type: "POST",
url: nextpage.php,
data: { wptl_ip: "<?php echo $_SERVER['REMOTE_ADDR']; ?>"},
success: success,
dataType: dataType
});

1 个答案:

答案 0 :(得分:1)

如果我正确读取此内容,则在单击锚标记时,您尝试在页面之间携带一些变量。

$.ajax将请求发送到另一个页面而不移动到该页面。 $.ajax用于从其他地方异步更新或获取数据。无需刷新页面。

您可以将data-attr存储在sessionStorage变量中。

$('body').on('click','a',function(e){
    e.preventDefault();

    var location = $(this).attr('href');
    var data = $(this).attr('data-wptl_ip');

    sessionStorage.setItem('wptl_ip', data);
    location.href= location;
});

然后您可以使用

访问下一页的数据信息
var myData = sessionStorage.getItem('wptl_ip');

这假设您想要移动到下一页以及数据。

发布到php文件以插入数据库:

$('body').on('click','a',function(e){
    e.preventDefault();

    var location = $(this).attr('href');
    var data = $(this).attr('data-wptl_ip');

    $.ajax({
        url: 'somePage.php',
        data: {someData: data} 
    }).done(function(response){
        sessionStorage.setItem('wptl_ip', data);
        location.href= location;
    });


});