今天工做的時候遇到一個坑,在客戶端用nodejs給服務器發送HTTP請求,服務器總是報錯:In the context of Data Services an unknown internal server error occurrednode
通過服務器端調試發現,服務器根本就沒有正確解析出這個請求的content-type。在postman裏能工做的場景下,正確解析出的content-type是multipart/mixed:json
而個人nodejs代碼裏明明指定了這個content-type的啊?瀏覽器
通過一行行代碼分析,最後發現問題出在第63行的json字段的值。我錯誤的賦成了true。服務器
這個參數起什麼做用?調試一下就知道了。若是爲true,進入第403行。app
若是請求內部有entity的content-type不是application/x-www-form-urlencoded, 則進入第1293行。post
safeStringify的實現邏輯就是瀏覽器原生的JSON.stringify, 把應用程序傳入的json對象序列化成字符串。可是個人代碼裏,傳入request module的請求體是一個字符串,而json參數設的又是true,因此邏輯上就不對了。把這個json參數的值改成false後,一切正常。url
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙": 3d