nodejs request module裏的json參數的一個坑

今天工做的時候遇到一個坑,在客戶端用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

相關文章
相關標籤/搜索