在我的Laravel应用程序中,我有一个通知系统。TokenMismatchException在Laravel的AJAX轮询期间
$.ajaxSetup({
headers: {
'X-CSRF-Token': CSRF_TOKEN
}
});
(function pollForNewNotifications() {
setTimeout(function() {
$.ajax({
type: 'POST',
url: 'http://example.com/get-notifications',
dataType: 'json',
data: {
// data that is sent
},
success: function (data) {
// add new notifications if data is not empty logic
pollForNewNotifications();
}
})
.fail(function (xhr, status, err) {
console.error(xhr.responseText)
});
}, 5000);
})();
现在这个工程的大部分时间:这是使用AJAX轮询技术(即一个AJAX功能后运行每5秒左右)类似的运行。
但是,问题是,我有时会发现,长时间处于非活动状态时,我得到一个TokenMismatchException in VerifyCsrfToken.php
错误并自动注销。
我认为这是因为CSRF令牌更改或更长时间是有效的(我可能是错的)。
我该如何解决这个问题?
虽然可以帮助,如果我把它设置为一个数字(比如说5000),那么问题只会再次5000分钟出现。我希望它能让会议明白它并不是真正的闲置,而是在做一些事情。 –