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

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

内容简介:今天工作的时候遇到一个坑,在客户端用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参数的一个坑》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

高可用MySQL

高可用MySQL

)Charles Bell Mats Kindahl Lars Thalmann / 宁青、唐李洋 诸云萍 / 电子工业出版社 / 2011-10 / 98.00元

《高可用mysql:构建健壮的数据中心》是“mysql high availability”的中文翻译版,主要讲解真实环境下如何使用mysql 的复制、集群和监控特性,揭示mysql 可靠性和高可用性的方方面面。本书由mysql 开发团队亲自执笔,定位于解决mysql 数据库的常见应用瓶颈,在保持mysql 的持续可用性的前提下,挖潜各种提高性能的解决方案。本书分为三个部分。第一部分讲述mysql......一起来看看 《高可用MySQL》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试