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

  1. 11g里创建OEM时的一个坑“emca -config dbcontrol db -repos recreate”

    11g里创建OEM时的一个坑 关于11g的OEM的更多内容: http://blog.itpub.net/26736162/viewspace-2029565/ 关于Oracle里的组件说明: htt ...

  2. python 字典字符串转字典——urllib.request.Request发送get,post请求,发送json参数

    1.eval方法即可[字典字符串转字典] file_content = eval(file_content) 2.urllib.request.Request发送post请求,发送json参数 fro ...

  3. python request.post 字典参数以json_Python requests.post方法中data与json参数区别详解

    在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json. data与json既可以是str类型,也可以是dict类型. 区别: 1.不管json是 ...

  4. 如何多次读取request请求里的数据

    问题场景 : 我们一般直接获取request请求里的参数进行数据处理,现在想在过滤器里获取请求参数并打印,方便做日志排查. 但是POST请求中的参数是存储在流中的,只能读一次,无法多次读取. 解决办法 ...

  5. 如何启用nodejs request模块的调试模式

    nodejs里的request module是一个进行HTTP通讯非常好用的库,最近查看它的源代码,发现一个有用的调试模式. 第134行, 把nodejs当前的环境变量NODE_DEBUG的值写入Re ...

  6. Node.js 单元测试:我要写测试 - Mocha - Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率

    -------------------------------------- 单元测试Express/NodeJs 个人理解, 1,如果不是测试http请求的单元测试,用Mocha, Chai等基本够 ...

  7. java 自定义注解 生成json_SpringBoot:自定义注解实现后台接收Json参数

    0.需求 在实际的开发过程中,服务间调用一般使用Json传参的模式,SpringBoot项目无法使用@RequestParam接收Json传参 只有@RequestBody支持Json,但是每次为了一 ...

  8. SpringMVC接受JSON参数详解及常见错误总结我改

    SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session了,想感受一下Token这样比较安全,稳健的方式,顺便写一个统一的接口给浏览器还有APP.所以把一个练手项目的前 ...

  9. Spring Boot笔记-controller接收json参数

    以前使用的是这样的方式获取JSON参数的 在controller端参数使用HttpServletRequest HttpServletRequest request 通过他的 request.getI ...

最新文章

  1. 简单创建vsftp server
  2. 零基础学python需要多久-Python要学习多久能入门?精通需要多久?
  3. 统计学习方法|逻辑斯蒂原理剖析及实现
  4. UVA11300分金币
  5. Java编程语言中sleep()和yield()的区别
  6. ZieglerNicholas PID GUI控制设计
  7. html input 传值 request接到值为null,解决jsp向servlet传值为null的问题
  8. mysql常见的错误码
  9. cobol host变量_将Host Cobol批次和Monolith Webapps移动到云和微服务
  10. xml 数字签名 破解_JAVA中带有数字签名的XML安全性
  11. 【转】WebAPI ASP.Net 发布部署中常见的两个错误未能找到 CodeDom未能加载System.Web.WebPages.Razor
  12. iperf测试带宽linux,iperf3-网络带宽性能测试工具
  13. 【转】01背包问题动态规划详解
  14. 如何使用bcrypt在PHP中对密码进行哈希处理?
  15. linux 内核协议栈 ip_rcv_finish,Linux内核协议栈学习笔记(二)--netfilter框架
  16. 图论/暴力 Codeforces Beta Round #94 (Div. 2 Only) B. Students and Shoelaces
  17. 中科大2021计算机应用数学期末回忆版
  18. 时间序列模型ARIMA -- 唐宇迪
  19. linux如何禁用独立显卡驱动,Ubuntu中独立显卡不好用如何关闭独立显卡
  20. 三分钟快速了解怎么查询ip地址,怎么更换ip地址!

热门文章

  1. WriteFile写磁盘扇区是87错误的原因
  2. BCB6代码格式化外挂
  3. 文献记录(part20)--Discriminative metric learning for multi-view graph partitioning
  4. python观察日志(part21)--ord,chr,unichr方法的联系与区别
  5. 嵩天-Python语言程序设计程序题--第二周:基本图形绘制
  6. SAP 电商云 Spartacus 产品明细页面的 OCC API 是如何被触发的
  7. ts-node 学习笔记 - 如何解决在 Windows10 下不能直接运行 ts-node 的问题
  8. 如何下载SAP Cloud for Customer UI技术模型的XML源代码到本地
  9. SAP Fiori Elements - object detail batch roundtrip triggered by binding property in embedded xml vie
  10. Why SAP SQL view is not recommended to use in SQL ?