原因1
原因:请求设置的content-type(.set('content-type', 'application/z-herion'))superagent 不支持,对响应数据未做解析和处理;其默认只对常用的类型 application/x-www-form-urlencoded, application/json, and multipart/form-data 等进行解析和处理。
解决:自己添加解析。.buffer(true).parse(fn)...
.buffer(true) .parse(function (result, fn) { result.text = ''; result.setEncoding('utf8'); var c =0; result.on('data', chunk => { result.text += chunk; // c +=1; // console.log("====c="+c+"--------chunk.length=="+chunk.length); // console.log("--------------------------------------------------"); // console.log("=============== my chunk==="+chunk); }); result.on('end', () => { try { var body = result.text; } catch (e) { var err = e; err.rawresultponse = result.text || null; err.statusCode = result.statusCode; } finally { fn(err, body); } }); }
原因2
- 原因:end 和 then 位置参数的区别问题
- 解释:end(err, res);then(res[, err, function...])