1、RESPONSE篇
a.基本响应
基本的响应是路由闭包或者控制器动作中返回一个字符串,除了返回字符串,当返回数组,Eloquent时,laravel会将数组转化为json响应
b.返回相应对象
Route::get('home',function(){
//return response($content,$status)->header('key','value')
return response('hello world',200)->header('Content-Type','text/plain');
}):
c.为响应添加头信息
return response($content)
->header('Content-Type',$type)
->header('X-Header-one',$value)
->header('X-Header-two',$value);
也可以使用withHeaders指定添加的信息头数组
return response($content)->withHeaders([
'Content-Type' => $type,
'X-Header-one' => $value,
'X-Header-two' => $value
]);
d.为响应添加cookie
return response($content)->header('Content-Type',$type)->cookie('name','value',$time);
laravel生成的cookie都是经过加密和签名的,因此不能被客户端修改和读取,如果想要某些cookie不加密
需要在App\Http\Middleware\EncryptCookies中间件的 $except 属性中添加cookie的名字
2、REDIRECT RESPONSE 重定向
a.基本示例
return redirect('home/dashboard');
return back()->withInput();
b.重定向到命名路由
return redirect()->route('login');
return redirect()->route('profile',['id'=>1]);//携带路由参数
return redirect()->route('profile',$user);//通过eloquent模型填充参数
c.重定向到控制器行为
return redirect()->action('HomeController@index');
return redirect()->action('HomeController@index',['id'=>1]);//携带路由参数
d.重定向并利用闪存的session数据
return redirect('dashboard')->with('status', 'Profile updated!');//重定向的时候讲数据闪到session数据
在blade前端模板中
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
3、其他相应类型
a.视图相应
return response()
->view('hello', $data, 200)
->header('Content-Type', $type);
b.json相应
return response()->json([
'name' => 'Abigail', //json方法自动添加json响应头信息,并使用json_encode方法
'state' => 'CA'
]);
如果创建jsonp响应,需使用json方法与withCallback方法配合使用
return response()
->json(['name' => 'Abigail', 'state' => 'CA'])
->withCallback($request->input('callback'));
c.文件下载
return response()->download($pathToFile);
return response()->download($pathToFile, $name, $headers);// $name是下载是所见的文件名
return response()->download($pathToFile)->deleteFileAfterSend(true);
d.文件响应
return response()->file($pathToFile); //file 方法可以直接在浏览器中显示文件
return response()->file($pathToFile, $headers);
laravel之http响应篇
最新推荐文章于 2025-06-22 11:31:11 发布