Angular js $http.get 返回对象对象

问题描述 投票:0回答:1

我正在尝试从 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 中的值。请帮助我。提前致谢!

angularjs asp.net-mvc-4
1个回答
0
投票

正如我所见,你的代码是成功的

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
});
© www.soinside.com 2019 - 2024. All rights reserved.