2017-04-01 4 views
0

ng-repeatのネストされたアプリケーションを開発しようとしていて、formを提出した後、rest apiになるはずです。 rest apiを呼び出すために$httpを使用しています。コードは通常のデータで と提出されますが、 saveボタンをクリックすると、ネストされたng-repeatと提出されません。以下では、コードに詳細を示しました。 データ全体を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を押す必要があります。 上記はプランカへのリンクです。ありがとうございました。

+0

[JSPretty.com](http://jspretty.com)。これを使って。お願いします。 – nnnnnn

+2

フォームを表示する必要があります - それはあなたのng-repeatがある場所です。 – dev8080

+0

この質問に対する答えを待っている間に、1つのフォーム要素と1つのネストされた 'ng-repeat'を持つ小さなテストケースを作成してみてください。詳細については、[最小、完全、および検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve)を参照してください。 – georgeawg

答えて

0

あなたはJSファイルで$scope.nameを使用していますがng-model="vendet.vendorName"を使用HTMLビューでこの

$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 

を試してみてください。その理由は常にundefinedです。

UPDATED ANSWER Plunk LINK IS HERE

+0

ありがとう。 venBusDetailsを増やすと、$ indexだけ増分されます。したがって、venBusDetails [index]またはid bcoz ngRepeatが重複をチェックします。 – NoobOwl

+0

はい、配列の長さになります。そして、あなたは配列の長さ、すなわち 'venBusDetails'の長さになるループでこのデータを準備することができます –

+0

私はこれがあなたを助けてくれることを願っています –

関連する問題