我正在尝试将存储在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
});
答案 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;
});
});