我对Laravel框架完全陌生,几天前才开始学习,我挑战自己创建基于cookie的URL。这意味着,如果我要访问http://localhost/cookie/nick,它应该存储基于cookie / *的cookie。我试着做,但每次都会得到空饼干。有可能吗?如果有,是否有人可以指导我?这是我的代码: -
routes.php文件
Route::get('/cookie/{name}','CookieControllerName@setCookieByUrl');
CookieControllerName.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Requests;
class CookieControllerName extends Controller
{
public function getCookie(Request $request){
$value = $request->cookie('name');
echo "Hello ".$value;
}
public function setCookieByUrl(Request $request, $name){
$response = new Response('Hello World');
$response->withCookie(cookie('name', $name, 3600));
$value = $request->cookie('name');
echo $value; //For debugging purpose
// getCookie();
}
}
答案 0 :(得分:0)
您需要返回$ response变量才能发生任何事情。
除此之外,我还没有真正看到你的代码是如何工作的,因为你对getCookie()的函数调用甚至不在范围内。它应该是:
<强> $这 - &GT;的getCookie()强>
只需将getCookie()替换为:
return $response
至少应该获得适当的cookie设置。
完整的代码块:
public function setCookieByUrl(Request $request, $name){
$response = new Response('Cookie has been set');
$response->withCookie(cookie('name', $name, 3600));
return $response;
}
Cookie值已加密,这就是您无法直接看到它的原因。