我正在制作一个票务系统,我在其中收集数组中席位的索引,但在收集Node时,它会被收集为一个Object,我使用JSON.parse
解析。
这是我的Angular Controller控制器的代码
$scope.bookThisSeat = function(seatIndex){
console.log(seatIndex);
$scope.ticket.selectedSeats.push(seatIndex);
console.log($scope.ticket)
}
$scope.registerTicket = function(){
$scope.ticket.selectedBus = $scope.ticket.selectedBus.id;
$scope.ticket.selectedSeats = angular.toJson($scope.ticket.selectedSeats);
console.log($scope.ticket);
$http.post('/tickets/create',$scope.ticket).
success(function(data){
if(data.success){
console.log("success")
}
}).
error(function(err){
console.log(err);
})
}
这是我的节点JS函数来收集输入数据
collect: function(req,res,next){
var fields = ['id','departure','destination','depDate','desDate','selectedSeats','amount','passenger_name','phone','selectedBus'];
var reqdata = {};
fields.forEach(function(entry){
if(typeof req.body[entry] !=='undefined')
reqdata[entry] = sanitize(req.body[entry]);
if(typeof req.query[entry]!== 'undefined')
reqdata[entry] = sanitize(req.query[entry]);
if(typeof req.params[entry] !== 'undefined')
reqdata[entry] = sanitize(req.params[entry]);
});
reqdata.selectedSeats = JSON.parse(reqdata.selectedSeats);
req.saf_tktdata = reqdata;
当我收集所有数据时它工作正常,但它返回一个
Unexpected error u
,只要我想收集depDate
或desDate
字段。
我该如何解决这个问题?
答案 0 :(得分:1)
我猜“意外错误u”,错误日志中的nameof(MyFriendID)
表示u
收集所有数据时,undefined
不是reqdata.selectedSeates
但是当您仅收集undefined
或depDate
时,可能desDate
为reqdata.selectedSeates
且不能undefinded
所以快速修复
JSON.parse