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

栏目: Node.js · 发布时间: 6年前

内容简介:今天工作的时候遇到一个坑,在客户端用nodejs给服务器发送HTTP请求,服务器老是报错:In the context of Data Services an unknown internal server error occurred经过服务器端调试发现,服务器根本就没有正确解析出这个请求的content-type。在postman里能工作的场景下,正确解析出的content-type是multipart/mixed:

今天工作的时候遇到一个坑,在客户端用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参数的一个坑


以上所述就是小编给大家介绍的《nodejs request module里的json参数的一个坑》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

jQuery 技术内幕

jQuery 技术内幕

高云 / 机械工业出版社 / 2014-1-1 / 99元

本书首先通过“总体架构”梳理了各个模块的分类、功能和依赖关系,让大家对jQuery的工作原理有大致的印象;进而通过“构造 jQuery 对象”章节分析了构造函数 jQuery() 的各种用法和内部构造过程;接着详细分析了底层支持模块的源码实现,包括:选择器 Sizzle、异步队列 Deferred、数据缓存 Data、队列 Queue、浏览器功能测试 Support;最后详细分析了功能模块的源码实......一起来看看 《jQuery 技术内幕》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具