使用ajax调用的角度保存变量到laravel会话不起作用

Posted

技术标签:

【中文标题】使用ajax调用的角度保存变量到laravel会话不起作用【英文标题】:Angular save vars to laravel session with ajax call dont work 【发布时间】:2015-02-14 21:53:27 【问题描述】:

我想将一些 var 保存到我的会话中,当我使用 ajax 发出请求时,这不起作用。 这是服务:

function HuntService( $http ) 
  this.hunts= 
    draws  : null,
    hunters: null
  ;

  this.saveToSession = function( hunts) 
   var hunts = this.hunts;
    return $http.post('saveToSession', 
      hunts: hunts
    );
  ;



HuntService.$inject = ['$http'];
module.exports = HuntService;

和控制器:

class HuntController extends \BaseController 

    public function saveItems() 
        Session::put('hunts', Input::get('hunts'));
        return Response::json(array('saved' => true), 200);
    

    public function destroy($id) 
        Session::forget('hunts');
    

     public function getHunts() 
        return Session::get('hunts') // dont exits
    


当我尝试通过常规请求和没有 ajax 的情况下进行测试时。

【问题讨论】:

您使用的是什么会话驱动程序? app/config/session.php 我使用默认文件 【参考方案1】:

问题出在这里:

var hunts = this.hunts;

这里,this.hunts 不存在。

注意:

使用 Inspect Element/Debug 工具检查请求并检查它是否在 post 方法中发送 hunts 属性的任何值或只是空白。 laravel 部分看起来不错。

【讨论】:

以上是关于使用ajax调用的角度保存变量到laravel会话不起作用的主要内容,如果未能解决你的问题,请参考以下文章

laravel 4持续数据正在进行 - jquery ajax提交

laravel 4持续数据正在进行 - jquery ajax提交

即使会话过期,Laravel API 调用也会继续

Laravel 会话 ID 随每个请求而变化

使用 AJAX 设置时未保存 Django 会话变量

使用ajax jquery的laravel消息闪烁