我有一个页面,打开后,将一系列ajax帖子发送到通知端点。我想使用访客会话在帖子中保留数据。无论是登录,还是上下文控制。我正在使用cookies。
我遇到的问题是从会话中恢复对象是这些ajax请求(它们是空的),我注意到在通知端点的每个帖子上,我得到request()->session()->getId()
的不同值,这使我认为会话没有正确传达,这就是为什么我没有看到我期望看到的对象持续存在。
我的网址正在使用“网络”中间件。
每次打开页面我都会这样做:
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': '<?php echo csrf_token(); ?>'
}
});
</script>
确保ajax请求在标题中包含CSRF令牌
我也会'request() - &gt; session() - &gt; regenerate();'每次打开页面时(不在通知中)以确保新会话。
我应该在POST中发送其他内容(可能是传递来自cookie的值)以将请求标识为上下文的一部分吗?
答案 0 :(得分:1)
你应该让它无国籍。
优势是您对会话处理的独立性。
答案 1 :(得分:0)
var _id = 1011;
var url = "/test";
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
beforeSend: function(){
},
url: url,
data: {id: _id},
type: 'POST',
dataType: 'json',
success: function(result){
}
});