Appearance
response — 响应对象
response 模块封装了 HTTP 响应操作,用于在接口脚本中返回各种格式的响应数据。
引入方式
response 为全局对象,无需 require,可直接使用。
JSON 响应
Json — 返回 JSON
javascript
response.Json({
code: 200,
msg: "success",
data: { name: "张三" }
})Success — 返回成功响应
javascript
response.Success({ name: "张三" })Error — 返回错误响应
javascript
response.Error("参数错误")Page — 分页响应
javascript
response.Page(list, total, page, pageSize)模板渲染
Template — 渲染 HTML 模板
javascript
response.Template("report.html", {
title: "月度报表",
data: users
})Text — 渲染文本模板
javascript
response.Text("Hello {{.name}}", { name: "张三" })文件响应
File — 发送文件
javascript
response.File("/path/to/file.pdf")Download — 文件下载
javascript
response.Download("/path/to/file.zip", "报表.zip")格式化响应
XML
javascript
response.XML({ name: "张三" })HTML
javascript
response.HTML("<h1>Hello World</h1>")CSV
javascript
response.Csv(csvBytes, "data.csv")Excel
javascript
response.Excel(excelBytes, "report.xlsx")PDF
javascript
response.PDF(pdfBytes)状态码响应
| 方法 | 说明 |
|---|---|
response.NotFound("未找到") | 404 响应 |
response.Unauthorized("未授权") | 401 响应 |
response.Forbidden("禁止访问") | 403 响应 |
response.InternalError("服务器错误") | 500 响应 |
response.Created(data) | 201 创建成功 |
response.NoContent() | 204 无内容 |
重定向
javascript
response.Redirect("https://example.com")
response.RedirectPermanent("https://example.com")
response.RedirectWithCode("https://example.com", 302)Cookie 操作
SetCookie — 设置 Cookie
javascript
response.SetCookie("token", "abc123", 3600, "/", "", false, true)| 参数 | 说明 |
|---|---|
| name | Cookie 名称 |
| value | Cookie 值 |
| maxAge | 过期时间(秒) |
| path | 路径 |
| domain | 域名 |
| secure | 是否仅 HTTPS |
| httpOnly | 是否禁止 JS 访问 |
DeleteCookie — 删除 Cookie
javascript
response.DeleteCookie("token")响应头设置
javascript
response.SetHeader("X-Custom-Header", "value")
response.SetHeaders({
"X-Request-Id": "12345",
"X-Server": "SSS-RUN"
})
response.SetStatusCode(200)SSE(Server-Sent Events)
javascript
response.SSE("message", "Hello World")CORS 设置
javascript
response.CORS("*", ["GET", "POST"], ["Content-Type"], true)完整示例
javascript
// 返回 JSON 数据
var users = db.Select("SELECT * FROM users")
response.Json({
code: 200,
msg: "success",
data: users
})
// 返回分页数据
var page = db.Page(1, 20, "SELECT * FROM users")
response.Page(page.list, page.total, page.page, page.pageSize)
// 返回错误
if (!request.Has("id")) {
response.Error("缺少 id 参数")
return
}
// 文件下载
response.Download("/data/report.xlsx", "报表.xlsx")
// 设置 Cookie 后返回
response.SetCookie("token", token, 86400, "/", "", false, true)
response.Success({ username: "admin" })