2017-08-08 53 views
0

我用laravel 5.3如何在本地存储中获取laravel上每次登录的数据?

我设置在本地存储的JavaScript像这样我的数据:

localStorage.setItem('storedData', JSON.stringify(data)) 

每次用户登录,我想补充一个条件。如果存储在本地存储器中的数据存在,那么我想要检索该数据并将其保存在数据库中

我该如何以简单的方式做到这一点?

是否使用ajax?

+0

是的,你必须做到这一点使用AJAX,因为(顾名思义)localStorage的是本地在客户端上,并且必须被发送到服务器以保存在数据库中。你到目前为止尝试过什么吗? – Jerodev

+0

@Jerodev,还没有。我仍然试着找出简单的方法 –

+0

您需要向我们展示您的尝试,我们在这里回答技术问题,我们不会为您编写代码。 – Joe

回答

0
$(document).ready(function() { 
    var checkStorage = storage.getItem('storedData'); 
    if (checkStorage) { 
     $.ajax({url: "dostuff.php", success: function(result){ 
      //DO STUFF 
     }}); 
    } 
}); 
+0

也许可以给出一些有关OP如何工作的信息。另外,OP没有提到他使用jQuery。 – Jerodev

+1

这真的是自我解释,没有理由不使用jQuery –

0
  1. 设置您在localStorage的同时登录值。
  2. 创建一个通用的js文件并将其包含在标题中(对于登录后的所有页面)。
  3. 内部的,

    $(document).ready(function() { 
    var myData = localStorage.getItem('storedData'); 
    if(myData == undefined || myData == ""){ 
        window.location = "/logout"; 
    } 
    else{ 
    //Do your ajax and send the data to controller 
    } 
    }); 
    
  4. 在加载登录页面清晰的localStorage的数据。

    localStorage.clear(); 
    

建议:

更好地使用这些类型的活动会议

0

本地存储只能在客户端使用javascript进行访问,所以如果您想在服务器端使用会话或cookie(如果数据大小小于4kb)获取数据。

如果你仍然想使用本地存储比你必须编写Ajax调用将数据发送到服务器

$(document).ready(function() { 
    var myData = localStorage.getItem('storedData'); 
    if(myData == undefined || myData == ""){ 
    } 
    else{ 
     $.ajax({url: "dostuff.php", 
     data:{data:myData }, 
     success: function(result){ 
      localStorage.clear(); 
     }}); 
    } 
    }); 
相关问题