一,响应:(常规响应和ajax响应)
(1)常规响应:
可以响应视图,字符串,不可以响应布尔值。
return view('child');
return 'hello world';
(2)ajax响应
语法:return response()->json(需要json输出的数据); //数据可以是数组,对象的形式
案例:创建路由,访问响应的页面,获取member表的信息,页面输出json格式响应。
1,创建路由;
Route::get('xiangying','TestController@xiangying');
2,创建控制器方法
//响应
public function xiangying(){
//获取member表的数据
$data=Member::all();
return response()->json($data);
}
3,查看响应显示的效果
数据表member的数据
显示的效果
注意:
php自带的json_encode也可以进行对json数据的解析,但一般不建议使用
- 用上面方法进行的解析,数据类型是json数据,对于HTML代码不会解析
- 用json_encode进行的数据解析,数据类型是HTML,可以对HTML代码进行解析
二,跳转响应,
常见的重定向状态码:
- 301(永久重定向),是服务器发出的
- 302(临时重定向),是服务器或者代码发出
- 304(没有被修改),当本地浏览器向服务器发出请求,服务器接收请求后发现资源没有变化,服务器就要求浏览器从客户端的缓存中进行获取
跳转的方式:
return redirect(路由)->withErrors([]);
//参数中的路由,可以是完整的请求路由,也可以是route方法,+别名获取的路由
(例如,有些操作完成以后不能停留在该页面,需要进行页面跳转,就可以使用)
案例:在文件长传成功或失败以后,进行页面跳转,失败就携带错误信息
继续文件上传的案例进行编写:
文件上传案例
https://blog.youkuaiyun.com/qq_45844648/article/details/105682795
1,编写上传成功失败代码
if($res){
// 验证成功后提示信息
// echo '验证成功';
return redirect('test1');
}else{
// 验证成功后提示信息
// echo '验证失败';
return redirect('biaodan')->withErrors(['信息输入有误','请重新输入']);
}
当信息验证成功后会进行页面的跳转,验证失败,会提示错误信息。