邮递员呈现html响应并执行JavaScript

时间:2019-11-22 07:46:00

标签: postman

我有一个可以给我html response的http api,我想对其进行“预览”。

但是其中包含一些javascript代码,如果不执行它们,将无法显示正确的页面。

我目前手动将它们复制并粘贴到一些aaa.html文件中,并使用chrome打开它(file://aaa.html),但是我想简化这些步骤。

反正邮递员有这样做吗?还是有邮递员替代品可以做到这一点?

2 个答案:

答案 0 :(得分:5)

邮递员本身可以执行此操作。您将必须使用pm.visualizer。只需打开您的API请求即可获得HTML响应。然后转到 Test 标签,添加以下行,然后单击 Visualize 标签:

pm.test("set  html",function(){
    var template=pm.response.text(); // save your html response in the template and then          
    pm.visualizer.set(template);     // set that template to pm.visualizer
})

see in postman

答案 1 :(得分:0)

来自邮递员official documentation

<块引用>

Postman 提供了一种可编程的方式来直观地表示您的请求响应。添加到请求测试的可视化代码将在响应正文的可视化选项卡中呈现,以及漂亮、原始和预览选项。

您需要添加到请求的测试中:

    var template = pm.response.text();
    pm.visualizer.set(template);

并在“可视化”选项卡上查看结果(在“漂亮”、“原始”和“预览”选项之后)。 Postman result HTML with JS and CSS


修复错误:

  • Refused to load the image 'file:///C:/some.png' because it violates the following Content Security Policy directive: "img-src http: https: data:".
  • 如果内容根本没有找到(404 Not Found)它沿着类似的路径'file:///C:/some.file'

需要在响应正文部分添加HTML标签:

    var response = pm.response.text();
    var base = '<base href="https://some.domain/">";
    var template = response.replace('<head>', '<head>' + base);
    pm.visualizer.set(template);

这个答案也解决了这个comment中的问题。


更多信息: