【问题标题】:jquery posting data attribute to the next pagejquery将数据属性发布到下一页
【发布时间】:2013-07-24 19:09:31
【问题描述】:

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

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

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
});

【问题讨论】:

  • 是的,看起来应该可以。你试过了吗?
  • 你要转到那个页面吗?因为ajax在后台发送请求,不会带你到页面
  • 下一页,这是一个ajax调用?
  • nexpage.php 只是一个例子,我将获得点击锚的 href。或者这不起作用?

标签: jquery ajax post custom-data-attribute


【解决方案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;
    });


});

【讨论】:

  • 感谢您的回答,这对我有很大帮助!单击锚点后,我将如何将数据发布到 mysql 数据库?
  • 您可以设置一个.php 页面来获取post 数据,并将其插入数据库。然后只需调用$.ajax() 即可在点击时发送数据。在这里,我将其附加到我的答案中
  • @danyo 这只是一个示例。您仍然需要插入 .php 页面,并修复 ajax 函数以适合您的数据。
  • 谢谢詹姆斯。我现在就玩玩它,让你知道我是怎么玩的!
  • 一直在玩这个,效果很好!我如何去检索 php 页面上的数据?我有 $ip = $_POST['data'];但这似乎没有输出任何东西?
猜你喜欢
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 2013-01-08
  • 2012-12-06
  • 2018-11-22
  • 2014-02-13
  • 2014-09-10
  • 1970-01-01
相关资源
最近更新 更多