ctx.request()
在 RunJS 中发起带认证的 HTTP 请求。请求会自动携带当前应用的 baseURL、Token、 locale、 role 等,并沿用应用的请求拦截与错误处理逻辑。
适用场景
凡 RunJS 中需发起远程 HTTP 请求的场景均可使用,如 JSBlock、JSField、JSItem、JSColumn、事件流、联动、JSAction 等。
类型定义
RequestOptions 在 Axios 的 AxiosRequestConfig 基础上扩展:
常用参数
资源风格 URL
NocoBase 资源 API 支持 资源:动作 的简写形式:
相对路径会与应用的 baseURL(通常为 /api)拼接;跨域需使用完整 URL,目标服务需配置 CORS。
响应结构
返回值为 Axios 响应对象,常用字段:
response.data:响应体- 列表接口通常为
data.data(记录数组)+data.meta(分页等) - 单条/创建/更新接口多为
data.data为单条记录
示例
列表查询
提交数据
带筛选与排序
跳过错误提示
跨域请求
使用完整 URL 请求其他域名时,目标服务需配置 CORS 允许当前应用来源。若目标接口需自己的 token,可通过 headers 传入:
配合 ctx.render 展示
注意事项
- 错误处理:请求失败会抛出异常,默认会弹出全局错误提示。使用
skipNotify: true可自行捕获并处理。 - 认证:同域请求会自动携带当前用户的 Token、locale、role;跨域需目标支持 CORS,并按需在 headers 中传入 token。
- 资源权限:请求受 ACL 约束,仅能访问当前用户有权限的资源。
相关
- ctx.message - 请求完成后展示轻量提示
- ctx.notification - 请求完成后展示通知
- ctx.render - 将请求结果渲染到界面
- ctx.makeResource - 构建资源对象,用于链式数据加载(与直接
ctx.request二选一)

