我在更新后的 Laravel 5.7 -> Laravel 10 上有这个 js 代码。在旧版本中,这工作得很好,但是,这里一旦启动这个 js,当它被调用时,它就会被损坏和被盗,或者叫它 CSRF 令牌,当它不再可能使用时,例如用于登录或任何表单的令牌。我完全不知道如何解决这个问题。
function pollActiveEvent() { var locale = localStorage.getItem('selectedLanguage') || 'default_locale';
$.ajax({
url: '/get-active-event-translations',
type: 'GET',
data: { locale: locale, _token: '{{ csrf_token() }}' },
success: function(response) {
updateActiveEvent(response);
setTimeout(pollActiveEvent, 5000);
},
error: function() {
console.error("Nepodařilo se provést požadavek na aktivní event.");
setTimeout(pollActiveEvent, 5000);
}
});
}
pollActiveEvent();`
- 我尝试删除 CSRF 令牌,在中间件 (VerifyCsrfToken) 中授予异常,当然,当脚本关闭时,一切都按应有的方式运行。只要进行任何查询,在此期间页面不会刷新,就会造成损坏。
您是否考虑过向
blade
元素添加元标记?