nodejs request module里的json参数的一个坑
今天工作的时候遇到一个坑,在客户端用nodejs给服务器发送HTTP请求,服务器老是报错:In the context of Data Services an unknown internal server error occurred
经过服务器端调试发现,服务器根本就没有正确解析出这个请求的content-type。在postman里能工作的场景下,正确解析出的content-type是multipart/mixed:
而我的nodejs代码里明明指定了这个content-type的啊?
经过一行行代码分析,最后发现问题出在第63行的json字段的值。我错误的赋成了true。
这个参数起什么作用?调试一下就知道了。如果为true,进入第403行。
如果请求内部有entity的content-type不是application/x-www-form-urlencoded, 则进入第1293行。
safeStringify的实现逻辑就是浏览器原生的JSON.stringify, 把应用程序传入的json对象序列化成字符串。但是我的代码里,传入request module的请求体是一个字符串,而json参数设的又是true,所以逻辑上就不对了。把这个json参数的值改为false后,一切正常。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
nodejs request module里的json参数的一个坑相关推荐
- 11g里创建OEM时的一个坑“emca -config dbcontrol db -repos recreate”
11g里创建OEM时的一个坑 关于11g的OEM的更多内容: http://blog.itpub.net/26736162/viewspace-2029565/ 关于Oracle里的组件说明: htt ...
- python 字典字符串转字典——urllib.request.Request发送get,post请求,发送json参数
1.eval方法即可[字典字符串转字典] file_content = eval(file_content) 2.urllib.request.Request发送post请求,发送json参数 fro ...
- python request.post 字典参数以json_Python requests.post方法中data与json参数区别详解
在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...
- 如何多次读取request请求里的数据
问题场景 : 我们一般直接获取request请求里的参数进行数据处理,现在想在过滤器里获取请求参数并打印,方便做日志排查. 但是POST请求中的参数是存储在流中的,只能读一次,无法多次读取. 解决办法 ...
- 如何启用nodejs request模块的调试模式
nodejs里的request module是一个进行HTTP通讯非常好用的库,最近查看它的源代码,发现一个有用的调试模式. 第134行, 把nodejs当前的环境变量NODE_DEBUG的值写入Re ...
- Node.js 单元测试:我要写测试 - Mocha - Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率
-------------------------------------- 单元测试Express/NodeJs 个人理解, 1,如果不是测试http请求的单元测试,用Mocha, Chai等基本够 ...
- java 自定义注解 生成json_SpringBoot:自定义注解实现后台接收Json参数
0.需求 在实际的开发过程中,服务间调用一般使用Json传参的模式,SpringBoot项目无法使用@RequestParam接收Json传参 只有@RequestBody支持Json,但是每次为了一 ...
- SpringMVC接受JSON参数详解及常见错误总结我改
SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session了,想感受一下Token这样比较安全,稳健的方式,顺便写一个统一的接口给浏览器还有APP.所以把一个练手项目的前 ...
- Spring Boot笔记-controller接收json参数
以前使用的是这样的方式获取JSON参数的 在controller端参数使用HttpServletRequest HttpServletRequest request 通过他的 request.getI ...
最新文章
- 简单创建vsftp server
- 零基础学python需要多久-Python要学习多久能入门?精通需要多久?
- 统计学习方法|逻辑斯蒂原理剖析及实现
- UVA11300分金币
- Java编程语言中sleep()和yield()的区别
- ZieglerNicholas PID GUI控制设计
- html input 传值 request接到值为null,解决jsp向servlet传值为null的问题
- mysql常见的错误码
- cobol host变量_将Host Cobol批次和Monolith Webapps移动到云和微服务
- xml 数字签名 破解_JAVA中带有数字签名的XML安全性
- 【转】WebAPI ASP.Net 发布部署中常见的两个错误未能找到 CodeDom未能加载System.Web.WebPages.Razor
- iperf测试带宽linux,iperf3-网络带宽性能测试工具
- 【转】01背包问题动态规划详解
- 如何使用bcrypt在PHP中对密码进行哈希处理?
- linux 内核协议栈 ip_rcv_finish,Linux内核协议栈学习笔记(二)--netfilter框架
- 图论/暴力 Codeforces Beta Round #94 (Div. 2 Only) B. Students and Shoelaces
- 中科大2021计算机应用数学期末回忆版
- 时间序列模型ARIMA -- 唐宇迪
- linux如何禁用独立显卡驱动,Ubuntu中独立显卡不好用如何关闭独立显卡
- 三分钟快速了解怎么查询ip地址,怎么更换ip地址!
热门文章
- WriteFile写磁盘扇区是87错误的原因
- BCB6代码格式化外挂
- 文献记录(part20)--Discriminative metric learning for multi-view graph partitioning
- python观察日志(part21)--ord,chr,unichr方法的联系与区别
- 嵩天-Python语言程序设计程序题--第二周:基本图形绘制
- SAP 电商云 Spartacus 产品明细页面的 OCC API 是如何被触发的
- ts-node 学习笔记 - 如何解决在 Windows10 下不能直接运行 ts-node 的问题
- 如何下载SAP Cloud for Customer UI技术模型的XML源代码到本地
- SAP Fiori Elements - object detail batch roundtrip triggered by binding property in embedded xml vie
- Why SAP SQL view is not recommended to use in SQL ?