nodejs request module里的json参数的一个坑

本日事情的时刻碰到一个坑,在客户端用nodejs给服务器发送HTTP要求,服务器总是报错:In the context of Data Services an unknown internal server error occurred

《nodejs request module里的json参数的一个坑》

经由服务器端调试发明,服务器根本就没有准确解析出这个要求的content-type。在postman里能事情的场景下,准确解析出的content-type是multipart/mixed:

《nodejs request module里的json参数的一个坑》

而我的nodejs代码里明显指定了这个content-type的啊?

《nodejs request module里的json参数的一个坑》

经由一行行代码剖析,末了发明问题出在第63行的json字段的值。我毛病的赋成了true。

《nodejs request module里的json参数的一个坑》

这个参数起什么作用?调试一下就知道了。假如为true,进入第403行。

《nodejs request module里的json参数的一个坑》

《nodejs request module里的json参数的一个坑》

《nodejs request module里的json参数的一个坑》

假如要求内部有entity的content-type不是application/x-www-form-urlencoded, 则进入第1293行。

《nodejs request module里的json参数的一个坑》

safeStringify的完成逻辑就是浏览器原生的JSON.stringify, 把应用程序传入的json对象序列化成字符串。然则我的代码里,传入request module的要求体是一个字符串,而json参数设的又是true,所以逻辑上就不对了。把这个json参数的值改成false后,一切正常。

《nodejs request module里的json参数的一个坑》

《nodejs request module里的json参数的一个坑》

《nodejs request module里的json参数的一个坑》

要猎取更多Jerry的原创文章,请关注民众号”汪子熙”:
《nodejs request module里的json参数的一个坑》

    原文作者:JerryWangSAP
    原文地址: https://segmentfault.com/a/1190000019293585
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞