今天工作的时候遇到了一个坑。客户端使用nodejs向服务端发送HTTP请求时,服务端总是报错:InthecontextofDataServicesanunknowninternalservererroroccurred经过服务端调试,发现服务端没有正确解析此请求的内容类型。在postman可以工作的场景下,正确解析的content-type是multipart/mixed:而这个content-type在我的nodejs代码中有明确规定吗?经过一行行的代码分析,终于发现问题出在第63行的json字段的值上,我错误的赋值给了true。这个参数有什么作用?调试后就知道了。如果为true,则转至403行。如果请求中实体的content-type不是application/x-www-form-urlencoded,则转至1293行。safeStringify的实现逻辑是浏览器原生的JSON.stringify,即将应用传入的json对象序列化为字符串。但是在我的代码中,传递给请求模块的请求体是一个字符串,并且json参数设置为true,所以逻辑是错误的。将此json参数的值更改为false后,一切正常。获取更多Jerry原创文章,请关注公众号“王子熙”:
