2017-07-21 1 views
0

HTMLWie eine Liste von ng-repeat zu api in angularjs zu buchen?

<body class="res layout-subpage" ng-app="cartApp" ng-controller="cartController"> 
    <table class="table table-bordered"> 
     <thead> 
      <tr> 
       <td class="text-center">Image</td> 
       <td class="text-left">Product Name</td> 
       <td class="text-left">Product Id</td> 
       <td class="text-left">Quantity</td> 
       <td class="text-right">Unit Price in (&#x20B9;)</td> 
       <td class="text-right">Total </td> 
      </tr> 
     </thead> 
     <tbody id="cartItems"> 
      <tr ng-repeat="product in productsInCart"> 
       <td class="text-center"> 
        <a href="product.html"><img width="70px" src="{{product.ProductImage}}" alt="{{product.ProductName}}" title="Xitefun Causal Wear Fancy Shoes" class="img-thumbnail" /> 
        </a> 
       </td> 
       <td class="text-left"><a href="product.html">{{product.ProductName}}</a> 
       </td> 
       <td class="text-left" ng-model="product.price">{{product.pid}}</td> 
       <td class="text-left" width="200px"> 
        <div class="input-group btn-block quantity"> 
         <input type="text" name="quantity" value="{{product.qty}}" ng-model="product.qty" ng-text-change="UpdateItemPrice(product)" size="1" class="form-control" /> 
         <span class="input-group-btn"> 
                  <button type="submit" data-toggle="tooltip" title="Update" class="btn btn-primary"><i class="fa fa-clone"></i></button> 
                  <button type="button" data-toggle="tooltip" title="Remove" class="btn btn-danger" ng-click="removeProductFromCart(product.pid)" onClick=""><i class="fa fa-times-circle"></i></button> 
                 </span> 
        </div> 
       </td> 
       <td class="text-right" ng-model="products.price">{{product.price}}</td> 
       <td class="text-right" ng-model="product.itemTotal">{{product.price * product.qty}} 
        <input type="hidden" ng-model="product.itemTotal" value="{{product.price * product.qty}}" /> 
       </td> 
      </tr> 
     </tbody> 
    </table> 
</body> 

Winkelregler

var cartApp = angular.module('cartApp', []); 
cartApp.controller("cartController", ['$scope', function($scope, $http) { 
    $scope.PostCartDataforOffers = function() { 
     var listInput = element(by.model('product')); 
     $scope.productsInCart = []; 
     angular.forEach($scope, function(value, index) { 
      $scope.productsInCart.push({ 
       shoppedetail: { 
        pid: value.pid, 
        price: value.price, 
        qty: value.qty, 
        tp: value.total 
       } 
      }); 
     }); 
     $scope.productsInCart.push({ 
      shoppedetail: { 
       pid: products.pid, 
       price: products.price, 
       qty: products.qty, 
       tp: products.total 
      } 
     }); 
     //$scope.productsInCart.push(products); 
     $http({ 
      url: '/Cart/Details', 
      method: 'Post', 
      data: $scope.productsInCart, 
     }).success(function(data) { 
      console.log(data) 
     }).error(function(data) { 
      console.log(data) 
     }) 
    } 
}]); 

Jetzt möchte ich diese Zeilen als Liste in MVC-Modell veröffentlichen. Daten wurden erfolgreich aus dem Objekt abgerufen und in der Tabellenzeile angezeigt, aber ich möchte diese mehrzeilige Liste als Liste in einem Controller als MVC-Modell veröffentlichen. Im Grunde ist dies ein Warenkorb Artikel, die ich auf dem Server Post muss.

+0

Welchen Serverseitenstapel verwenden Sie? – garfbradaz

+0

Ich verwende Localstorage, um diese Daten in HTML zu rendern. var cartValue = localStorage.getItem ("cartItems"); cartValue = '[' + cartValue + ']'; Konsole.log (cartValue); var EinkaufswagenObj = JSON.parse (cartValue); $ scope.productsInCart = cartObj; –

Antwort

0
$scope.PostCartDataforOffers = function (productsInCart) 
     { 
      $scope.productsArray = []; 
      var tid = parseInt($cookies.get('TenantId')); 
      angular.forEach(productsInCart, function (value, index) { 
       value.tp = value.price * value.qty; 
       $scope.productsArray.push({ pid: value.pid, price: value.price, qty: value.qty, tp: value.tp }); 
      }); 
      $scope.Order = []; 
      $scope.Order.push({ "ti": tid, "shoppedetail": $scope.productsArray }); 
      var OrderString = JSON.stringify($scope.Order); 
      var model = OrderString.slice(1, -1); 

      $http({ 
       headers: { 'Content-Type': 'application/json;charset=utf-8' }, 
       url: "/Cart/Checkout", 
       method: 'POST', 
       data: model 
      }) 
       .then(function (response) { 
        console.log(response); 
      }); 
     } 
+0

muss $ scope.Order in JSON String konvertieren und dann '[' und ']' von der ersten und letzten Position von Json String entfernen. –

Verwandte Themen