带有请求承诺和多部分/表单数据的请求

时间:2019-06-27 13:05:41

标签: node.js request-promise http-request-parameters

我必须实现以下工作流程:

发出请求1,获得JSON响应。操纵此JSON对象,使其可以在第二个请求中用作有效负载。提出第二个请求。

第一个请求已成功实现。我得到正确的JSON对象。操作部分也已完成并经过测试。

我设法为第二个请求创建了一个正确的邮递员收藏。它使用POST方法,具有多个标头,Content-type为multipart / form-data,请求1的有效载荷作为Raw发送(在主体中,选项无,form-data等……我选择raw) 。

我正在尝试实现第二个请求,但是无论我如何进行调整,都会出现错误。以下是我的代码:

[o_{00},o_{01}}
[o_{10},o_{11}}
[o_{20},o_{21}}
[o_{30},o_{31}}
[o_{40},o_{41}}

*参数有效负载是第一个请求的响应

我得到的错误是:

  

message = source.on不是函数,stack = TypeError:source.on不是函数   功能

变量操纵对象是一个字符串。目前,我正在从成功的邮递员请求中复制其值,以避免操作过程中出现错误。 Content-Type标头中的随机标记与操纵对象字符串中的随机标记匹配。因此,数据与我在邮递员请求中使用的数据相同。

我怀疑错误在于发送数据的方式上,但是我很难弄清楚。我已经读过有关此错误的信息,它似乎是在将对象传递给formData时生成的,但是我正在发送字符串,所以我不明白为什么会发生此错误。

1 个答案:

答案 0 :(得分:0)

formData的值仅接受三种类型的元素viz。字符串,缓冲区和流。请参阅:request/issues/2366

U可以如下更改formData:

 formData: {
     file: manipulatedObject,
   },

 formData: {
     file: {
        value: manipulatedObject,
        options: {},
      },
   },