zoukankan      html  css  js  c++  java
  • 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的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    移动端适配
    javscript_DOM 拖动事件
    Nginx
    文件和二进制数据的操作
    数组方法
    JS异步开发
    网络协议
    八大排序
    硬链接与软链接的区别
    入门计算机一段时间的感想
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/10923818.html
Copyright © 2011-2022 走看看