会话在后端工作正常,但是当我使用前端发送请求时它不起作用



会话在后端工作正常,但是当我使用前端发送请求时它不起作用

在控制器中:

public function captcha(){
session_start();
if (isset($_SESSION['captcha_image'])) {
File::delete($_SESSION['captcha_image']);
$temp = new Captcha();
$temp->captcha();
return response()->json(['url_image' => $_SESSION['captcha_image'],
'captcha' => $_SESSION['captcha']], Response::HTTP_OK);
} else {
$temp = new Captcha();
$temp->captcha();
return response()->json(['url_image' => $_SESSION['captcha_image'],
'captcha' => $_SESSION['captcha']], Response::HTTP_OK);
}
}

创建会话 :

$_SESSION['captcha'] = $word;
$_SESSION['captcha_image'] = "image".$time.".png";

您可以使用Laravel会话:

  1. 通过Request实例:

    use IlluminateHttpRequest;
    public function captcha(Request $request)
    {
    if ($request->session()->has('captcha_image')) {
    File::delete($request->session()->get('captcha_image'));
    }
    $temp = new Captcha();
    $temp->captcha();
    return response()->json([
    'url_image' => $request->session()->get('captcha_image'),
    'captcha' => $request->session()->get('captcha'),
    ], Response::HTTP_OK);
    }
    
  2. 通过全局session帮助程序方法:

    public function captcha()
    {
    if (session('captcha_image')) {
    File::delete(session('captcha_image'));
    }
    $temp = new Captcha();
    $temp->captcha();
    return response()->json([
    'url_image' => session('captcha_image'),
    'captcha' => session('captcha'),
    ], Response::HTTP_OK);
    }
    

要在会话中存储数据:

// Via a request instance...
$request->session()->put('key', 'value');
// Via the global helper...
session(['key' => 'value']);

有关更多信息,请参阅 Laravel文档。

最新更新