Javascript 位置重新加载时未刷新CSRF令牌
我有一些js代码,当按下按钮时发送axios删除请求,然后通过执行Javascript 位置重新加载时未刷新CSRF令牌,javascript,laravel,csrf,Javascript,Laravel,Csrf,我有一些js代码,当按下按钮时发送axios删除请求,然后通过执行window.location.reload(true)刷新页面,但是如果我尝试按下按钮在同一页面的不同部分执行axios删除请求,我会得到419错误,提示CSRF令牌未在页面刷新时重新加载。如果我在页面运行后手动刷新页面 我还尝试过做一个简单的window.location.href='/previousurl,但这也不起作用CSRF令牌和JavaScript(来自laravel文档) 在构建JavaScript驱动的应用程序时
window.location.reload(true)
刷新页面,但是如果我尝试按下按钮在同一页面的不同部分执行axios删除请求,我会得到419错误,提示CSRF令牌未在页面刷新时重新加载。如果我在页面运行后手动刷新页面
我还尝试过做一个简单的window.location.href='/previousurl
,但这也不起作用CSRF令牌和JavaScript(来自laravel文档)
在构建JavaScript驱动的应用程序时,让JavaScript HTTP库自动将CSRF令牌附加到每个传出请求是很方便的。默认情况下,resources/js/bootstrap.js文件中提供的Axios HTTP库使用加密的XSRF-TOKEN cookie的值自动发送X-XSRF-TOKEN头。如果不使用此库,则需要为应用程序手动配置此行为
有关更多信息,请参见CSRF令牌和JavaScript(来自laravel文档)
在构建JavaScript驱动的应用程序时,让JavaScript HTTP库自动将CSRF令牌附加到每个传出请求是很方便的。默认情况下,resources/js/bootstrap.js文件中提供的Axios HTTP库使用加密的XSRF-TOKEN cookie的值自动发送X-XSRF-TOKEN头。如果不使用此库,则需要为应用程序手动配置此行为
有关更多信息,请参见通过将以下内容添加到我的bootstrap.js文件中,解决了此问题
let token = document.head.querySelector('meta[name="csrf-token"]');
if (token) {
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
}
通过将以下内容添加到我的bootstrap.js文件中修复了此问题
let token = document.head.querySelector('meta[name="csrf-token"]');
if (token) {
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
}
这对我没有帮助,因为说发送CSRF令牌不是问题,问题是当使用js重新加载功能时,CSRF令牌在页面重新加载时没有得到刷新,这对我没有帮助,因为说发送CSRF令牌不是问题,问题是,当使用js重新加载功能进行页面重新加载时,CSRF令牌没有得到刷新