在Bruno中编写响应脚本设置bearer_token环境变量遇阻
问题描述
我尝试从Bruno的响应中提取数据,将其设置为名为bearer_token的环境变量。但响应是仅包含Bearer令牌的原始格式,没有结构化响应体,不知道该如何解析这种无响应体的原始数据。试过直接用res作为数据赋值,也用了Bruno文档提供的响应脚本,但环境变量仍然为空。附上使用的脚本代码:
function onResponse(res) { let data = res.getBody(); bru.setEnvVar("bearer_token", data); }
解决建议
- 先确认响应内容有效性:在Bruno的响应面板查看原始响应,确保服务器确实返回了令牌字符串,没有空响应或4xx/5xx错误状态码。
- 替换
getBody()为res.text():部分Bruno版本中getBody()更适配结构化数据,纯文本响应改用res.text()获取原始字符串,同时可加trim()清理首尾空格或换行:function onResponse(res) { let token = res.text().trim(); bru.setEnvVar("bearer_token", token); } - 指定编码格式获取内容:如果响应存在编码问题,尝试带编码参数调用
getBody,比如res.getBody("utf-8")。 - 检查环境变量作用域:确认设置的是全局环境变量还是当前集合的环境变量,切换到对应环境面板查看是否已赋值。
- 排查脚本执行状态:确认响应脚本已绑定到当前请求,执行请求后查看Bruno控制台的脚本日志,排查是否有执行报错。
内容的提问来源于stack exchange,提问作者TylerBalaskovitz
相关产品推荐
相关产品推荐

