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

nqwrtyyt  于 8个月前  发布在  Angular
关注(0)|答案(1)|浏览(71)

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

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

.factory('productsService ',[ '$http',function($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 the _products中的值。请帮助我。提前感谢!

zrfyljdw

zrfyljdw1#

你的代码是成功的,因为我可以看到
输入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
});

相关问题