在POSTMAN中,如何获取响应标题项的子字符串?

在POSTMAN中,如何获取响应标题项的子字符串?,postman,postman-pre-request-script,Postman,Postman Pre Request Script,我使用postman获取响应标题值,如下所示: var data = postman.getResponseHeader("Location") . //value is "http://aaa/bbb" for example 我可以通过console.log(data)轻松打印值 然而,我真正想要的是“bbb”。所以我需要一些substring()类型的函数。显然,“data”不是javascript字符串类型,因为例如data.substring(10)总是返回null 有人知道我在这

我使用postman获取响应标题值,如下所示:

var data = postman.getResponseHeader("Location") . //value is "http://aaa/bbb" for example 
我可以通过
console.log(data)
轻松打印值

然而,我真正想要的是“bbb”。所以我需要一些
substring()
类型的函数。显然,“data”不是javascript字符串类型,因为例如
data.substring(10)
总是返回null

有人知道我在这种情况下需要做什么吗


如果存在解释此问题的postman API文档?

您可以在postman中设置环境变量。试试像这样的东西

var data = JSON.parse(postman.getResponseHeader("Location"));
postman.setEnvironmentVariable("dataObj", data.href.substring(10));

一些最初的想法-我需要像OP一样的“Location”标题的特定部分,但我也必须从该特定部分获得特定值。 我的头球看起来像这样

我需要“state”值作为变量传递给下一个请求

var location_header = pm.response.headers.get("Location");
var attributes = location_header.split('&');

console.log(attributes);

var len = attributes.length;
var state_attribute_value = ""
var j = 0;
for (var i = 0; i < len; i++) {
    attribute_key = attributes[i].split('=')[0];
    if (attribute_key == "state") {
        state_attribute_value = attributes[i].split('=')[1];
    }
    j = j + 1;
}
console.log(state_attribute_value);
pm.environment.set("state", state_attribute_value);
var location_header=pm.response.headers.get(“位置”);
var attributes=location_header.split('&');
console.log(属性);
var len=attributes.length;
var state_attribute_value=“”
var j=0;
对于(变量i=0;i
也许你明白了,“拆分”是给你一些值数组的选择。
如果要拆分的文本总是给出相同的数组长度,那么应该很容易捕捉到正确的数字。在这里,您可以使用JavaScript的全部灵活性,因此只需拆分字符串并使用最后一个
/
之后的部分:

var data = pm.response.headers.get("Location").split("/").pop());

如果您需要更深入的JavaScript内部示例,请参阅W3学校的文档。

这就是您得到的确切错误吗?实际上,首先只需要toString()就可以将其转换为JavaScript字符串,然后它是自解释的。这是否回答了您的问题?不,那不是解决方案,我在其他地方看到了同样的解决方案。我的头没有返回json对象。对于我的特定需求,谢谢