Javascript AngularJS可编辑:更新服务器数据

Javascript AngularJS可编辑:更新服务器数据,javascript,angularjs,x-editable,Javascript,Angularjs,X Editable,我正在使用AngularJS并向我的用户显示表格中的产品。在这里,用户可以使用类别或其他关键字筛选表。但是用户必须能够编辑产品表,比如编辑产品名称或价格,当然这些数据也必须在我的数据库中进行修改。现在我使用的是xeditable,它工作得很好,我能够得到我必须更改的productID,并且调用了更改数据的函数,但仅此而已。在这里您可以看到我的代码: AngularJS categorieFilter = angular.module("categorieFilter", ["xeditable"

我正在使用AngularJS并向我的用户显示表格中的产品。在这里,用户可以使用类别或其他关键字筛选表。但是用户必须能够编辑产品表,比如编辑产品名称或价格,当然这些数据也必须在我的数据库中进行修改。现在我使用的是xeditable,它工作得很好,我能够得到我必须更改的productID,并且调用了更改数据的函数,但仅此而已。在这里您可以看到我的代码:

AngularJS

categorieFilter = angular.module("categorieFilter", ["xeditable"])
categorieFilter.run(function(editableOptions) {
  editableOptions.theme = 'bs3'; // bootstrap3 theme. Can be also 'bs2', 'default'
});

categorieFilter.controller("catFilter", ["$scope", "store", function($scope, store){
    $scope.search = "";
    $scope.products = [];
    $scope.categories = [];

    $scope.postname = function ($prodid){
        $http.get('api/editproduct/id/$scope.product.name')        
        .success(function(results){
        })
        .error(function(data, status){
            console.error("Category add error: ", status, data);
        });    
    };      

    store.getCategories().then(function(data){
        $scope.categories = data;
    })
    store.getProducts().then(function(data){
        $scope.products = data;
    })    

    $scope.filterProductsByCats = function(category){
    $scope.search = category;
    };  

}])

categorieFilter.factory('store', function($http, $q){
    function _getCategory (){
        var deferred = $q.defer();
        $http.get('api/categories').success(function (data) {
                deferred.resolve(data);
            })
        return deferred.promise;
    }

    function _getProducts (){
        var deferred = $q.defer();
        var prods = [];
        $http.get('api/products').success(function (data) {
            for(var i = 0;i<data.length;i++)
            {
                prods[i] = {id: data[i][0], name: data[i][1], category: data[i][3], price: data[i][2]};            
            }
            deferred.resolve(prods);
        })
        return deferred.promise;
    }
        return {
         getCategories: _getCategory,
         getProducts : _getProducts
        };

});
categorieFilter=angular.module(“categorieFilter”,[“xeditable”])
运行(函数(可编辑选项){
editableOptions.theme='bs3';//bootstrap3主题。也可以是'bs2','default'
});
categorieFilter.controller(“catFilter”、[“$scope”、“store”、函数($scope、store){
$scope.search=“”;
$scope.products=[];
$scope.categories=[];
$scope.postname=函数($prodid){
$http.get('api/editproduct/id/$scope.product.name')
.成功(功能(结果){
})
.错误(功能(数据、状态){
控制台错误(“类别添加错误:”,状态,数据);
});    
};      
store.getCategories().then(函数(数据){
$scope.categories=数据;
})
store.getProducts().then(函数(数据){
$scope.products=数据;
})    
$scope.filterProductsByCats=功能(类别){
$scope.search=类别;
};  
}])
categorieFilter.factory('store',函数($http,$q){
函数_getCategory(){
var deferred=$q.deferred();
$http.get('api/categories').success(函数(数据){
延迟。解析(数据);
})
回报。承诺;
}
函数_getProducts(){
var deferred=$q.deferred();
var-prods=[];
$http.get('api/products')。成功(函数(数据){

对于(var i=0;i我更新了控制器和函数,如下所示,现在工作正常:

categorieFilter.controller("catFilter", ["$scope", "$http", "store", function($scope, $http, store){
    $scope.search = "";
    $scope.products = [];
    $scope.categories = [];

    $scope.postname = function ($prodid, $prodname){
        alert($prodname);
        $http.get('api/editproduct/'+$prodid+'/'+$prodname)        
        .success(function(results){
        })
        .error(function(data, status){
            console.error("Category add error: ", status, data);
        });    
    };   
categorieFilter.controller("catFilter", ["$scope", "$http", "store", function($scope, $http, store){
    $scope.search = "";
    $scope.products = [];
    $scope.categories = [];

    $scope.postname = function ($prodid, $prodname){
        alert($prodname);
        $http.get('api/editproduct/'+$prodid+'/'+$prodname)        
        .success(function(results){
        })
        .error(function(data, status){
            console.error("Category add error: ", status, data);
        });    
    };