JSON数组不适用于$ http服务

时间:2017-04-01 05:05:54

标签: javascript angularjs json

我是角色的新手并尝试开发嵌套的应用程序    ng-repeat并在提交form后,应该点击rest api。     我一直在使用$http拨打rest api电话。代码被提交     使用普通数据但在i时没有使用嵌套ng-repeat提交     单击save按钮。下面我提供了详细信息的代码。     整个数据应显示在console中。我可能已经做了一些     错误的某处。谢谢。

JS
 $scope.saveVenFormData = function(vendet){
     console.log($scope.vendet);
     $scope.venFullAddress.push({
        'vendorName': $scope.name,
        'panNum': $scope.panNum,
        'personName': $scope.venBusDetails.personName,
        'mobileNum': $scope.venBusDetails.mobileNum,
        'workNum': $scope.workNum,
        'emailid': $scope.emailid,
        'addressLine1': $scope.addressLine1,
        'addressLine2': $scope.addressLine2,
        'city': $scope.city,
        'state': $scope.state
        });
     var dataObj = $scope.venFullAddress;
    // console.log($scope.dataObj);

     $http.get('/showVendors').success(function(data){
        console.log(angular.toJson(data));
    });
    var res = $http.post('http://localhost:8080/dman/mm', dataObj);
    res.success(function(data, status, headers, config) {
        $scope.message = data;
    });
    res.error(function(data, status, headers, config) {
        alert( "failure message: " + JSON.stringify({data: data}));
    }); 
 };
JSON结构:
{
 "vendor": {
    "vendorName": "",
    "panNum": "",
    "venBusDetails": [{
            "personName": "",
            "mobileNum": "",
            "workNum": "",
            "emailid": "",
            "venContDetails": [{
                    "addressLine1": "",
                    "addressLine2": "",
                    "city": "",
                    "state": ""
                }]
        }]
   }
}

https://plnkr.co/edit/nP8R92KNkz8JEHpvH56S?p=catalogue     为方便起见,我添加了一个json结构。我需要访问所有的     来自表单的数据并打到其余的api。     以上是与plunker的链接。谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个

$scope.dataObjToPost = {
  "vendor": {
    "vendorName": $scope.vendet.vendorName,
    "panNum": $scope.vendet.panNum,
    "venBusDetails": [{
      "personName": $scope.venBusDetails[0].personName,
      "mobileNum": $scope.venBusDetails[0].mobileNum,
      "workNum": $scope.venBusDetails[0].workNum,
      "emailid": $scope.venBusDetails[0].emailid,
      "venContDetails": [{
        "addressLine1": $scope.venContDetails[0].addressLine1,
        "addressLine2": $scope.venContDetails[0].addressLine2,
        "city": $scope.venContDetails[0].city,
        "state": $scope.venContDetails[0].state
      }]
    }]
  }
} //And send this data to POST method

您在JS文件中使用了$scope.name但在HTML视图中使用了ng-model="vendet.vendorName"。这就是为什么它总是undefined

UPDATED ANSWER Plunk LINK IS HERE