Postman预请求脚本报错:Unexpected token '<' 问题求助
Postman预请求脚本错误排查与修复
你的错误提示Unexpected token '<'是因为预请求脚本里的POST请求返回了HTML错误页面(而非预期的JSON响应),解析JSON时触发报错。问题出在两个核心点:
1. POST请求URL未配置真实地址
脚本里的url: 'url'是占位符,没有替换成第一个请求的真实接口地址,导致请求发往无效地址,返回了错误页面。必须将这里替换为实际的POST接口URL。
2. 请求Body格式错误
你设置的body.raw是键值对数组,但raw模式下需要传入JSON字符串(因为header指定了content-type: application/json),数组格式会导致接口无法识别参数,进而返回错误。
修复后的完整脚本
pm.sendRequest({ url: '替换为第一个POST请求的真实URL', // 替换成实际接口地址 method: 'POST', header: { 'content-type': 'application/json' }, body: { mode: 'raw', raw: JSON.stringify({ // 把参数对象序列化为JSON字符串 key1: 'abcd', key2: '123456789', key3: 1, key4: 'abcd' }) } }, (err, res) => { // 增加错误捕获,方便排查问题 if (err) { console.error('POST请求失败:', err); return; } try { const responseData = res.json(); pm.variables.set("messageId", responseData.messageId); } catch (parseErr) { console.error('解析响应失败,响应内容:', res.text()); } });
额外建议
- 先单独运行第一个POST请求,确认能正常返回包含
messageId的JSON响应,再把对应的URL、参数复制到预请求脚本中,避免参数遗漏或错误。 - 保留脚本里的错误捕获逻辑,出现问题时可以在Postman控制台查看具体错误信息或响应内容,快速定位问题。
内容的提问来源于stack exchange,提问作者TesterABC
相关产品推荐
相关产品推荐

