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

时间:2014-10-15 06:11:03

标签: angularjs asp.net-mvc-4

我正在尝试从mysql数据库中检索一些示例值,并使用angularjs将其显示在我的视图中。我对angular非常新,我正在尝试使用$ http.get获取我的数据。以下是我的代码

Angular Code

angular
.module('sampleApp.service.product', [])

.factory(' productsService',[         ' $ HTTP&#39 ;,         函数($ 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产品中获取值。请帮帮我。谢谢提前!     在这里输入代码

1 个答案:

答案 0 :(得分: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;
        }
     }

在Conteroller中,

productsService.getProducts().then(function(data) {
     //success
     $scope.products = data.rows; 
     console.log($scope.products);
}, function() {
     //flier
});