尽管值可用,但变量在AngularJS中显示未定义

时间:2018-08-05 14:00:03

标签: javascript angularjs

我想将JSON中的一些表单数据发送到服务器,但是由于某种原因,控制台中弹出错误消息,提示

  

ReferenceError:未定义formatdata       在m。$ scope.submit(Index.js:59)

我一直想做的是

var formdata = new Object();
var packet = new Object();
console.log($scope.id+' '+$scope.bsName+' '+$scope.age); //succesfull
formdata.toddlerId = $scope.id;
formdata.toddlerName = $scope.name;
formdata.bsName = $scope.bsName;
formdata.toddlerAge = $scope.age;
JSON.stringify(formatdata); //shows error here
console.log(formatdata.toddlerId);
packet.DecoyToddler = JSON.stringify(formatdata);
packet.task = 'register';
console.log(JSON.stringify(packet));

我以前做过这样的事情

var action = new Object();
action.task = 'reg';
$http({
    method: 'post',
    url: 'Controller',
    dataType: 'JSON',
    data: JSON.stringify(action), //no error here
    contentType : 'application/json',
    mimeType : 'application/json',
}).then(function(response){
var list = response.data;

我无法理解为什么代码段2有效而代码段1不有效。我是Java和AngularJ的新手,所以如果它太愚蠢的错误,我深表歉意。

1 个答案:

答案 0 :(得分:3)

你那里有错字,

应该是

JSON.stringify(formdata);