黑馬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的請求進行了跳轉。

