我在获取单击的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>\
问题:为什么我的第一个单击项显示该值,然后在我的浏览器将我发送到第二页后,我没有任何响应,是因为我的浏览器刷新了吗?。
现在,我创建了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);
}
});
});
});
答案 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');
解析数据的正确方法是在页面的初始加载时进行处理。
可以通过以下方式实现:
每次单击链接时,页面都会刷新,并且循环会重复。