问题描述
我正在尝试编写一个AJAX脚本,该脚本将使用POST请求将我从Laravel中注销:
$.ajax({
headers: {
'X-CSRF-Token': "{{ csrf_token() }}"
},type: "POST",url: '/logout',success: function() {
window.location.replace('https://portal.nchinc.com/?logout=timeout');
}
});
结果是我只是被重定向,注销没有生效。我在做什么错了?
注意:已设置CSRF令牌以避免401未经授权的HTTP响应。
感谢您的帮助!
解决方法
尝试:
$.ajax({
type: "POST",url: '/logout',data: {'_token' : "{{ csrf_token() }}"},success: function() {
window.location.replace('https://portal.nchinc.com/?logout=timeout');
}
});
您不需要设置标题,但是需要_token
才能避免Csrf验证失败。
有效
<meta name="csrf-token" content="{{ csrf_token() }}">
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});