【发布时间】:2019-01-26 11:34:06
【问题描述】:
我正在尝试使用 node js 服务将 .json 文件的内容获取到 angularjs 方法中。但我得到以下错误:
_http_outgoing.js:700 抛出新的 ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk); ^ TypeError [ERR_INVALID_ARG_TYPE]:“块”参数必须是字符串或缓冲区类型之一。接收到的类型对象 在 ServerResponse.end (_http_outgoing.js:700:13)
这里是对应的代码片段...
角度控制器:注释行是我尝试过但失败的所有行。
var currentProcess = "process_1cA";
$scope.storestats = [];
var resAss = $resource('/procs/getstorestats');
var stats = resAss.get({
process: currentProcess,
date: date.getFullYear() + "" + m + "" + d
});
stats.$promise.then(function(response) {
if (response != undefined) {
// var r = JSON.parse(response);
//$scope.storestats.push(r);
//$scope.storestats.push(r);
//var r = JSON.parse(response);
$scope.storestats.push(response);
//angular.forEach(r, function(value, key) {
// $scope.storestats.push({key : value});
//});
}
});
NODEJs 服务:
httpApp.get('/procs/getstorestats', function(req, res, next) {
try {
fs.readFile(cfg.routestatspath + "storestats-"+req.query.process + "-" + req.query.date + ".json", function (err, data) {
var msgs1 = JSON.parse(data);
//var r = data.toString('utf8');
var msgs2 = JSON.stringify(msgs1);
console.log(msgs1);
res.end(msgs1);
});
}
catch (err) {
res.end(err.toString());
}});
P.S: 注释掉的行是我尝试过但失败的行。此外,节点服务代码 sn-p 中的注释行没有给出错误,并且在记录时显示正确,但控制器响应时的数据为空白。
【问题讨论】: