## 介紹
Response組件服務用于 http響應的相關處理。
其他產品也可以使用該組件,請登錄 [GITHUB](https://github.com/houdunwang/response) 查看源代碼與說明文檔。
[TOC]
## 狀態碼
#### 設置狀態碼
向客戶端發送HTTP狀態碼
```
Response::sendHttpStatus(404);
```
## 404響應
返回404狀態碼并輸出錯誤視圖,config/app.php 配置文件中的 404 配置段中定義錯誤頁面
```
return Response::_404();
```
#### 獲取狀態碼
獲取使用 sendHttpStatus 發送的狀態碼
```
Response::getCode();
```
## 生成鏈接
以下方法生成鏈接但不會進行跳轉,所有跳轉方法都可以使用鏈式string()函數返回鏈接字符串。
#### u 生成url
分隔符可以使用 . 或 / 兩種。
```
echo u('home.index.add');
//或
echo redirect('home.entry.index')->string();
```
#### 添加url參數
```
u('home.index.add',['cid'=>1,'uid'=>2]);
//生成url為: ?s=home/index/add&cid=1&uid=2
```
#### 生成鏈接參數與當前$_GET合并
```
u('home.index.add',['cid'=>1,'uid'=>2],true);
//生成url參數除了指定的cid與uid外還有當前$_GET中所有參數
```
## 頁面跳轉
#### 請示當前控制器方法
```
u('add',['cid'=>1,'uid'=>2]);
//全成url為: ?s=默認模塊/默認控制器/add
```
#### 路由鏈接
```
return redirect()->route('hdcms');
```
#### 控制器鏈接
go、redirect函數是別名函數功能一致,都會進行跳轉處理。
```
return go('home.entry.index');
//或
return redirect('home.entry.index');
//或
return redirect()->controller('home.entry.index');
```
#### 回跳鏈接
```
return redirect('back');
```
#### 刷新頁面
```
return redirect('refresh');
```
## 異步響應
#### 語法
```
public function ajax( $data, $type = "JSON" )
type指返回數據類型包括:TEXT XML JSON 默認為JSON
```
#### 示例
```
$data=['name'=>'后盾網','url'=>'houdunwang.com']
return Response::ajax($data,'xml');
```
#### ajax函數
組件提供了ajax函數用于發送異步
```
$data=['name'=>'后盾網','url'=>'houdunwang.com']
return ajax($data);
```
#### 直接返回
可以在路由閉包或控制器中直接返回數組,系統會自動以json數組響應給前臺。
```
return ['name'=>'后盾網'];
```
## 普通模板消息
模板消息是直接以一個頁面顯示消息內容,然后跳轉到指定的地址。
#### 模板文件
模板消息的文件在 system/config/view.php 中定義。
#### 函數語法
```
/**
* 消息提示
* $content 消息內容
* $redirect 跳轉方式 1:with(分配錯誤內容) 2:back或為空(返回上一頁) 3:refresh(刷新當前頁) 4:具體跳轉的Url
* $type 信息類型 success(成功),error(失敗),warning(警告),info(提示)
* @timeout 等待時間單位秒
*/
redirect()->show( $content, $redirect = 'back', $type = 'success', $timeout = 2 )
//或使用函數
message( $content, $redirect = 'back', $type = 'success', $timeout = 2 );
```
當跳轉方式為 with 時會將提示信息以數組的形式返回到頁面中,不會使用配置文件中指定的模板文件顯示內容。
#### 示例代碼
```
return redirect()->show('操作成功','back','success');
//或使用函數調用
message('操作成功','back','success');
```
> 如果是Ajax異步請求時系統會返回 {valid:1,message:'響應信息'}的JSON數據。succes時valid為1 ,error 時valid為0
#### 模板變量
系統會分配與消息有關的變量到模板中,如果對模板進行了重新定義那么這些變量顯示是需要用到的。因為 跳轉方式為 **with** 時不使用模板,所以模板變量對他沒有意義。
```
'content' => '提示內容',
'redirect' => '跳轉方式',
'type' => '消息類型',
'timeout' => '顯示時間'
```
## 確認模板消息
有確定提示的提示頁面,不支持ajax操作,模板文件在配置項 config/app.php 文件中的 confirm 配置段中設置。
#### 函數語法
```
/**
* 有確定提示的提示頁面
* $message 提示文字
* $sUrl 確定按鈕跳轉的url
* $eUrl 取消按鈕跳轉的url
*/
confirm( $message, $sUrl, $eUrl );
```
#### 示例代碼
```
return confirm('確定刪除嗎?',u('ok'),u('cancel'));
```
#### 模板變量
```
$message=>'提示信息',
$sUrl=>'確定按鈕跳轉的url',
$eUrl=>'取消按鈕跳轉的url'
```
- 文檔已經遷移到后盾人
- 介紹
- 框架特性
- 開發規范
- 許可協議
- 作者向軍
- 安裝框架
- 更新框架
- 基礎
- 入口文件
- 應用配置
- 優雅鏈接
- 目錄結構
- 系統常量
- 自動加載
- 應用密鑰
- 系統函數
- CSRF保護
- 依賴注入
- 跨域訪問
- 配置
- 配置文件
- 基本功能
- 擴展配置
- c 函數
- 控制器
- 定義聲明
- 基本使用
- 相關函數
- 響應消息
- 路由
- 基礎知識
- 基礎路由
- 路由參數
- 參數檢測
- 依賴注入
- 控制器
- 分組路由
- RESTful
- 別名路由
- 數據
- 配置相關
- 核心操作
- 查詢構造器
- 日志記錄
- 分頁處理
- 事務處理
- 函數相關
- 數據庫
- 數據遷移
- 數據填充
- 模型
- 定義模型
- 模型動作
- 模型驗證
- 自動完成
- 自動過濾
- 字段保護
- 數據填充
- 多表關聯
- 分頁處理
- 倉庫
- 數據倉庫
- 查詢規則
- 視圖
- 基礎知識
- 模板配置
- 模板文件
- 分配數據
- 系統標簽
- 擴展標簽
- 緩存模板
- 模板繼承
- 視圖函數
- widget
- vue組件
- 中間件
- 中間件
- 緩存
- 基本操作
- 文件緩存
- 數據表緩存
- 服務
- 服務容器
- 定制服務
- 相關函數
- 請求
- 基本使用
- 請求擴展
- 測試
- 基礎知識
- 基本使用
- HTTP測試
- 調試
- 調試模式
- 日志管理
- 組件
- 多語言
- 響應處理
- Cookie
- Session
- 驗證碼
- XML
- 自動驗證
- 文件處理
- 壓縮解壓
- RBAC
- 數組增強
- 分頁管理
- 圖像處理
- 生成靜態
- 加密解密
- 字符串
- 數據集合
- 工具服務
- 目錄操作
- 郵件發送
- CURL
- QQ登錄
- 數據備份
- 購物車
- 日志處理
- 命令組件
- 二維碼
- 后盾云
- 日期處理
- 阿里
- 支付寶
- 阿里云直播
- 阿里云短信
- 阿里云郵件
- 阿里云OSS
- SOCKET
- 啟動與關閉
- 前端
- 微信