簡體   English   中英

在Angular上將JSON從數組發送到Web服務的問題

[英]Issue sending JSON from array to web service on Angular

我有桌子 行表的每個單元格都是表單字段。 另外,我有兩個按鈕:一個按鈕將新行添加到表中,第二個按鈕發送所有行。

這是用於添加新的空白行:

$scope.atributs =[];

$scope.addRow = function(){
     var newRow = {nomAtribut: "",tipus: "",mida: "",prioritat: "",obligatori: "",observacions: ""};
$scope.atributs.push(newRow);
                        }

查看:

    <table class="table">
            <tr>
               <td>Nom atribut</td>
                <td>Tipus</td>
                <td>Mida</td>
                <td>Prioritat</td>
                <td>Obligatori</td>
                <td>Observacions</td>
              </tr>
              <tr ng-repeat="atribut in atributs">
                 <td><input type="text" ng-model="atribut.nomAtribut" /> </td>
                 <td>
                   <select ng-options="option as option.valor for option in options" ng-model="atribut.tipus"></select>
                 </td>
                 <td><input type="number" ng-model="atribut.mida" /></td>  
                 <td>
                     <select ng-options="option as option.valor for option in options" ng-model="atribut.tipus"></select>
                  </td>
                  <td><input type="checkbox" ng-model="atribut.obligatori" ng-true-value="'YES'" ng-false-value="'NO'"></td>
                  <td><input type="text" ng-model="atribut.observacions" /> </td>
                </tr>
   </table>

用於將數據發送到Web服務的角度代碼:

$scope.sendRow = function(){
 $http.post("http://10.0.203.73/WS/ws.php/tipusactius/alta", $scope.atributs).success(function(data){
                        $scope.status = data;
                    })
                }

傑森陣列發送:-

 [{"nomAtribut":"j",
 "tipus":{"idvalors_combo":"3","valor":"Date"},
  "mida":11,"prioritat":"",
  "obligatori":"YES",
  "observacions":"fcefwq"}]

一切正確,問題出在網絡服務上嗎? 還是角度代碼錯誤? 這是我第一次嘗試角度。 謝謝。

因此,看起來您的Web服務一次希望從數據數組中獲得一個元素。

我認為您應該修改sendRow函數以獲取要發送的行索引,如下所示:

$scope.sendRow = function(atributRow){
 $http.post("http://10.0.203.73/WS/ws.php/tipusactius/alta", atributRow).success(function(data){
                        $scope.status = data;
                    })
                }

然后,您可以通過以下方式循環發送所有行:

angular.forEach($scope.atributs, $scope.sendRow);

或具有特定索引的單行:

$scope.sendRow($scope.atributs[0])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM