Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在另一个on-click函数中重写Ajax成功数据_Javascript_Django Notification - Fatal编程技术网

Javascript 如何在另一个on-click函数中重写Ajax成功数据

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({

您好,我正在创建通知。通知调用是一个函数,用于在钟形图标上显示未读的通知

但我的问题是,单击通知后,需要覆盖计数并将其设置为0

这是我的通知调用的Java脚本代码

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函数,它在每次页面刷新时都会更改为零,因此每个页面中的通知计数都不相同。如果要在页面之间同步,可以将其保存在本地存储中。