私は金融資管理システムと呼ばれるプロジェクトに取り組んでいます。私は顧客の装飾のリストを挿入したい、挿入はhttp.post()を使用して行います。複数の飾りを挿入したいので、forループを使用しました。データベースに値を挿入できますが、次のエラーメッセージが表示されます。
index.htmlを
<form class="form-inline form-group">
<fieldset data-ng-repeat="choice in choices">
<div class="col-xs-3">
<div class="form-group">
<select class="form-control" id="optioin1" ng- model="choice.option1" >
<option value="Ring" >Ring</option>
<option value="Earings" >Earings</option>
<option value="Chains">Chains</option>
<option value="Necklaces">Necklaces</option>
<option value="Bangles">Bangles</option>
</select>
</div>
{{choice.option1}}
</div>
<div class="col-xs-4">
<div class="input-group">
<input type="number" step="0.01" ng-model="choice.weight" class="form-control" placeholder="Weight" aria-describedby="basic-addon2">
<span class="input-group-addon" id="basic-addon2">gm</span>
</div>
</div>
<div class="col-xs-4 pull-right">
<button class="btn btn-default" ng-show="$last" ng-click="removeChoice() "><span class="glyphicon glyphicon-minus" aria-hidden="true"></span></button>
<button class="btn btn-default" ng-show="$last" ng-click="addNewChoice()"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></button>
</div>
</fieldset>
</form>
dashboard.js
app.controller('dashboardCtrl', function($scope,$rootScope,$http) {
$scope.date = new Date();
$scope.place='Kovilloor';
$scope.choices = [{id: 'choice1'}];
$scope.addNewChoice = function() {
var newItemNo = $scope.choices.length+1;
$scope.choices.push({'id':'choice'+newItemNo});
};
};
$scope.insertvalue = function(){
var gl=($scope.GLID.GLID-0);
$scope.gli=gl+1;
for(var i=0;i<=$scope.choices.length;i++){
$http.post("php/insertornament.php", {'GLID':$scope.gli,'ORNAMENT':$scope.choices[i].option1,//Error
'WEIGHT':$scope. choices[i].weight
})
}
};
forループでhttp postを使用することはできません。それは非同期的な呼びです。そのようなループを使用するのではなく、バックエンドに配列を送るほうがいいです。 – digit
@digitはいできます!合意しましたが、おそらく 'for'ループで' $ http.post'を使うのは誤りではありません。 –
@ digit @ Matthew Cawley情報をありがとう。 – Ajith