黑马lavarel教程---11、响应处理
一、总结
一句话总结:
如果在昂扬状态,看学习视频和运动时间重合,会很舒服
1、jquery的$.post参数为什么不需要占位?
因为每个参数的类型不同,可以识别:$.post:$.post (地址,[参数对象,回调,期望返回类型]);
2、常见的ajax响应数据类型?
有json和xml、text/html,但是一般都用json
3、在laravel中框架如果需要响应json数据,怎么写?
(和json_encode()效果一样,不用记):return response() -> json(需要json输出的数据);
4、lavarel中的重定向?
Return redirect(路由);
二、响应处理
在laravel中,响应正常情况下有2个类型:常规的直接响应,另外一个是ajax的响应。
其中展示视图以及直接响应字符串都属于常规的响应。
例如:常规响应
展示视图:
return view(‘welcome’);
直接返回某个字符串:
return ‘hello world’;
1、ajax请求的响应
常见的ajax响应数据类型:json和xml、text/html。
案例:在页面中输出一个按钮,按钮要可以被点击,点击之后发送ajax请求,请求后台的数据,后台返回前端ajax一个json的数据(不要使用json_encode函数)。
①创建路由
②创建需要的test16和17的方法,其中test16方法主要展示视图页面,test17负责ajax响应
③创建视图,并且将视图的效果实现如案例要求所述(引入jQuery文件)
④点击按钮之后能够产生一个ajax请求【重点】
发送ajax请求:在jQuery中你知道发送ajax请求的方式有几种?4种
$.get:$.get(地址,[参数对象,回调,期望返回类型]);
$.post:$.post (地址,[参数对象,回调,期望返回类型]);
$.ajax:$.ajax(obj); 参数只有一个,就是参数的对象
$.getJSON:$.getJSON(址,[参数对象,回调]); 该方法一般用于解决跨域请求
⑤响应处理【重点】
在laravel中框架如果需要响应json数据,则写成语法:
return response() -> json(需要json输出的数据);
响应的结果:
补充:在laravel中布尔值是不能被直接通过return 响应输出的。
2、跳转响应(重定向)
在有一些页面,例如同步添加操作,完成操作之后不能停留在当前页面,最好做一个跳转操作,也就是需要一个跳转的响应。
以之前的“上传操作代码”为例:后续比较理想的情况应该是在处理完成之后需要一个跳转提示,告知用户是否成功,成功则应该返回上一页,失败则应该输出错误提示。
两个跳转方式任选一个:
Return redirect(路由); 该参数的路由可以是完整的请求路由,也可以是通过route方法+别名获取的路由
Return redirect() -> to(路由);
案例代码:
具体的请求的效果:产生了302的请求进行了跳转。