我正在尝试从 mysql 数据库检索一些示例值并使用 angularjs 将其显示到我的视图中。我对 Angular 很陌生,我正在尝试使用 $http.get 来获取我的数据。以下是我的代码
角度代码
angular
.module('sampleApp.service.product', [])
.factory('产品服务', [ '$http', 函数($http){
return {
getProducts: function () {
// return $http.get("/Home/GetTweets");
return $http({
method: 'GET',
url: '/api/Products'
}).success(function (data) {
alert("success");
alert(data);
}).error(function (error) {
//Showing error message
alert("failed");
$scope.status = 'Unable to retrieve products' + error.message;
});
alert(data) 返回 [object,Object]
我的控制器代码有以下内容
public class productsController : ApiController
{
public IEnumerable<Product> Get()
{
ProductEntities context = new ProductEntities();
var _products = from p in context.Products.AsEnumerable() select p;
return _products;
}
}
在调试时,我正在获取 DB int _products 中的值。请帮助我。提前致谢!
正如我所见,你的代码是成功的
将
console.log(data);
替换为 alert(data);
,然后就可以在浏览器控制台中看到数据了。
.factory('productsService', [ '$http','$q', function ($http,$q) {
return {
getProducts: function () {
var deferred = $q.defer();
$http({
method: 'GET',
url: '/api/Products'
}).success(function (data) {
deferred.resolve(data);
}).error(function (error) {
deferred.reject(data);
});
return deferred.promise;
}
}
在控制器中,
productsService.getProducts().then(function(data) {
//success
$scope.products = data.rows;
console.log($scope.products);
}, function() {
//flier
});