首页 > 解决方案 > 变量在 AngularJS 中显示未定义,尽管值可用

问题描述

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

ReferenceError:格式数据未在 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 无效。我是 Javascript 和 AngularJs 的新手,所以如果它太愚蠢的错误我深表歉意。

标签: javascriptangularjs

解决方案


你那里有一个错字,

它应该是,

JSON.stringify(formdata);


推荐阅读