Skip to content

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)
javascript
response.SetCookie("token", "abc123", 3600, "/", "", false, true)
参数说明
nameCookie 名称
valueCookie 值
maxAge过期时间(秒)
path路径
domain域名
secure是否仅 HTTPS
httpOnly是否禁止 JS 访问
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" })

版权所有.