Javascript 如何在另一个on-click函数中重写Ajax成功数据
您好,我正在创建通知。通知调用是一个函数,用于在钟形图标上显示未读的通知 但我的问题是,单击通知后,需要覆盖计数并将其设置为0 这是我的通知调用的Java脚本代码Javascript 如何在另一个on-click函数中重写Ajax成功数据,javascript,django-notification,Javascript,Django Notification,您好,我正在创建通知。通知调用是一个函数,用于在钟形图标上显示未读的通知 但我的问题是,单击通知后,需要覆盖计数并将其设置为0 这是我的通知调用的Java脚本代码 var notification_call = function () { var url = $('.notification-content-div').data('href'); blockUI = false Pace.ignore(function () { $.ajax({
var notification_call = function () {
var url = $('.notification-content-div').data('href');
blockUI = false
Pace.ignore(function () {
$.ajax({
url: url,
type: "GET",
beforeSend: function (request) {
var auth = localStorage.getItem("auth")
if (auth) {
request.setRequestHeader("Authorization", "Token " + JSON.parse(auth));
}
},
success: function (data) {
$('.notification-count').attr('data-count', data.count);
var raw = document.getElementById('notification-content-handlebar-div').innerHTML;
var template = Handlebars.compile(raw);
document.getElementById('notification-content-div').innerHTML = template({
data: data
});
}
});
});
}
我正在调用setinterval中的通知\u调用来更新它
notification_call();
var notification_interval = 10000;
setInterval(notification_call, notification_interval);
一旦用户使用此功能单击图标,我需要更改计数。但是我如何在这里设置data.count 0
$(document).on('click', '.notification-icon', function () {
});
单击重置图标时,设置要标记的全局变量:
let timestamp=0
$(文档)。在('单击','上。通知图标',函数(){
timestamp=Date.now()
//然后将计数设置为零
})
然后忽略在时间戳之前发送的任何请求:
var通知\u调用=函数(){
// ...
//当请求被激发时
让timestamp_on_fire_request=Date.now()
$.ajax({
成功:功能(数据){
//如果在单击之前触发,则忽略它
如果(点火请求上的时间戳<时间放大器)返回
// ...
}
})
// ...
}
单击重置图标时,设置要标记的全局变量:
let timestamp=0
$(文档)。在('单击','上。通知图标',函数(){
timestamp=Date.now()
//然后将计数设置为零
})
然后忽略在时间戳之前发送的任何请求:
var通知\u调用=函数(){
// ...
//当请求被激发时
让timestamp_on_fire_request=Date.now()
$.ajax({
成功:功能(数据){
//如果在单击之前触发,则忽略它
如果(点火请求上的时间戳<时间放大器)返回
// ...
}
})
// ...
}
将ajax响应设置为全局变量,然后在您的上使用该响应,然后单击
并重置计数。这种方法可能会影响ajax对全局变量的响应,然后在您的上单击并重置计数。这样可能是我面临的问题是。。。。。timestamp变量是一个gloabl函数,它在每次页面刷新时都将更改为零,因此每个页面中的通知计数将不相同如果要在页面之间同步,可以将其保存在本地存储中。我面临的问题是。。。。。timestamp变量是一个gloabl函数,它在每次页面刷新时都会更改为零,因此每个页面中的通知计数都不相同。如果要在页面之间同步,可以将其保存在本地存储中。