簡體   English   中英

使用REST API在angularjs中進行CRUD操作

[英]CRUD operations in angularjs with REST API

AngularJS的CRUD操作正常。 單擊提交按鈕值時,將在db中提交,但不會同時反映在視圖中。 我需要一個單獨的按鈕來顯示數據庫中的值,或者我需要單擊兩次。

我的觀點:

<div style="float:left; margin-left:50px;">
    <div><label for="id">Update Records</label></div><br>
<table>
<tr >
    <td><label for="id">Id:</label> </td>
    <td><input type="text" name="id" ng-model="user.id"/></td>
</tr>
<tr >
    <td><br><label for="uname">Name:</label> </td>
    <td><input type="text" name="uname" ng-model="user.uname"/></td>
</tr>
<tr>
    <td><br><label for="ucity">City:</label> </td>
    <td><input type="text" name="ucity" ng-model="user.ucity"/></td>
</tr>

<tr>
    <td>
    <a ng-click="updatecust(user.id,user.uname,user.ucity)" class="btn btn-primary">Update</a>
    </td>
</tr> 
<!--<tr>
    <td><br>
        <a ng-click="viewtable()" class="btn btn-primary">View All</a>
        </td>
</tr> -->
</table>
</div>

我的控制器:

   var phonecatControllers = angular.module('phonecatControllers', ['templateservicemod', 'navigationservice','restservice']);

  $scope.updatecust=function(id,name,city){
          console.log("update is clicked");
          $scope.user={id:id,uname:name,ucity:city};
          RestService.update(id,name,city).success( RestService.vieww().success(viewdata));
      };

REST API:

var restservice = angular.module('restservice', [])

.factory('RestService', function ($http) {

return{

        update: function(id,name,city){
            console.log(id+name+city);
            return $http.get("http://localhost/code/index.php/demo/updatedemo?id="+id+"&   uname="+name+"&ucity="+city,{});
        }
}

});
RestService.update(id,name,city).success( RestService.vieww().success(viewdata));

這應該更改為

RestService.update(id,name,city).success(function(){
    RestService.vieww().success(function(data){
        $scope.viewdata = data.data;
    }));
});

考慮到這一點,您可以使用RestService函數vieww來獲取數據數組。

在您的HTML中,您需要對視圖數據執行ngRepeat才能顯示該表。

暫無
暫無

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

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