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