NodeJS中出现意外的标记'u'

时间:2016-08-06 09:55:30

标签: angularjs json node.js

我正在制作一个票务系统,我在其中收集数组中席位的索引,但在收集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,只要我想收集depDatedesDate字段。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我猜“意外错误u”,错误日志中的nameof(MyFriendID)表示u

收集所有数据时,undefined不是reqdata.selectedSeates

但是当您仅收集undefineddepDate时,可能desDatereqdata.selectedSeates且不能undefinded

所以快速修复

JSON.parse