0

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

首先,我向所有锚标记添加一个类和数据属性,如下所示:

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

上传时我已经检查了我的源代码,这工作正常。

我想为每个锚标记添加功能,以将该锚的数据属性提交到下一页。

我现在不太确定该怎么做。我已阅读 .ajax 和 .post 并不确定有什么区别?

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

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

1 回答 1

1

如果我没看错,当您单击锚标记时,您正试图在页面之间传递一些变量。

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

您可以将数据属性存储在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;
    });


});
于 2013-07-24T19:23:11.647 回答