## 介绍
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
- 启动与关闭
- 前端
- 微信