Thinkphp 6.0响应输出和重定向

本节课我们来学习一下响应操作,响应输出和重定向。


一.响应操作


1. 响应输出,有好几种:包括 return、json()和 view()等等;
2. 默认输出方式是以 html 格式输出,如果你发起 json 请求,则输出 json;
3. 而背后是 response 对象,可以用 response()输出达到相同的效果;

return response($data);

4. 使用 response()方法可以设置第二参数,状态码,或调用 code()方法;

return response($data, 201);
return response($data)->code(202);


5. 使用 json()、view()方法和 response()返回的数据类型不同,效果一样;

return json($data, 201);
return json($data)->code(202);


6. 不但可以设置状态码,还可以设置 header()头文件信息;

return json($data)->code(202)->header(['Cache-control' => 'no-cache,must-revalidate']);


二.重定向


1. 使用 redirect()方法可以实现页面重定向,需要 return 执行;

return redirect('http://www.baidu.com');

2. 站内重定向,直接输入路由地址或相对地址即可,第二参数状态码;

return redirect('ds/5');
return redirect('/address/details/id/5', 201);


3. 使用 url 自动生成跳转地址,普通地址或路由地址;

return redirect(url('address/index'));

4. 附加 session 信息,并跳转重定向;

return redirect(url('address/index'))->with('name', 'Mr.Lee');


5. 重定向还提供了,记住上一次的 url,和跳转到上一次 url 的功能;
 

if (session('?flag')) {
return '死机警告';
} else {
return redirect(url('address/index'))->remember();
}
public function index()
{
$url = url('address/back');
return '返回';
}
public function back()
{
return redirect('1')->with('flag', '1')->restore();
}

你可能感兴趣的:(php,servlet,php)