doushuo8677 2016-10-24 00:17
浏览 51
已采纳

Ajax POST未被识别为当前访客会话的一部分,Laravel 5.3

I have a page that after opened, make a serie of ajax posts to a notification endpoint. I would like to persist data across the posts using a guest session. No login, but context control regardless. I am using cookies.

I am having issues to restore objects from the session is these ajax requests (they come null), and I noticed that on each post to the notification endpoint, I get a different value for request()->session()->getId(), which makes me think the session is not being communicated properly and that's why I don't see the objects I expected to see persisted.

My URLs are using the "web" middleware.

Everytime the page open I do:

<script>
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': '<?php echo csrf_token(); ?>'
        }
    });
</script>

To ensure ajax requests will have the CSRF token in the header

I also do 'request()->session()->regenerate();'everytime the page opens (not in the notifications) to ensure a new session.

Is there anything else (perhaps pass values from cookies) that I should send in the POST to identify the request as part of a context?

  • 写回答

2条回答 默认 最新

  • dshu1235 2016-10-24 19:51
    关注

    You should make it stateless.

    • Send a request from client to server
    • The server generates and returns a "token"
    • The client receives the token and stores this for example in local storage
    • The client sends with each request the token as a header (or as parameter in URL)
    • (the server checks the token from the header)

    Advantage is your independency of session handling.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于大棚监测的pcb板设计
  • ¥20 sim800c模块 at指令及平台
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计