有没有办法获取点击值的ID并使用Jquery将其发送到另一页?

时间:2019-02-08 12:51:48

标签: javascript jquery

我在获取单击的href标记的属性值时遇到问题,当我单击此href标记时会发生,是的,该值正在显示,但是当我的浏览器将我发送到peoplegallery_album时,id现在变为null,尽管我的浏览器会刷新这就是为什么该值变为null的原因。因此发生的反应没有任何反应。 <a href="/peoplegallery_album/'+gallery_id+'" class="clicked_albums" data-id='+gallery_id+' style="color:black; font-weight: 500;">'+gallery_content_title+'</a>\

问题:为什么我的第一个单击项显示该值,然后在我的浏览器将我发送到第二页后,我没有任何响应,是因为我的浏览器刷新了吗?。

我将向您展示所单击的项目返回值的示例。 Showing result

现在,我创建了api,以列出ID为...的相册中的所有项目。

    $(document).ready(function(){   
    $(document).on('click','.clicked_albums',function(e) {

        var album_id= $(this).data('id'); 
        alert(album_id);

        $.ajax({
            url:'http://localhost:8000/api/peoplegallery_album/'+ album_id,
            type:'get',
            data: {id: album_id},
            dataType: "json",
            contentType: "application/json",
            processData: true,
            success:function(response) {
                console.log(response);
            },
            error:function(response) {
                console.log(response);
            }
        });

    }); 
}); 

因此,在浏览器将我发送到另一页后,我没有得到任何回应。 enter image description here

2 个答案:

答案 0 :(得分:0)

使用localStorage代替ajax

//This page

function a(e)
{
var t=e.getAttribute('id');
localStorage.setItem('id',t);
}

//Other page

var k=localStorage.getItem('id');

//for deleting

function b()
{
localStorage.removeItem('id');
}
<a id="23" onclick="a(this)" href="#">This had id 23</a>
<a id="23" onclick="b()" href="#">delete localstorage</a>

答案 1 :(得分:0)

这是链接元素的预期行为。它会将您带到'href'属性中指定的URL。

如果要防止位置更改,请添加

e.preventDefault()

之前

var album_id= $(this).data('id');

解析数据的正确方法是在页面的初始加载时进行处理。

可以通过以下方式实现:

  • 在初始加载时检查URL中的ID。
  • 如果存在ID,则使用它发出API请求。
  • 如果没有ID,则什么也不做。

每次单击链接时,页面都会刷新,并且循环会重复。