我正在尝试从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产品中获取值。请帮帮我。谢谢提前! 在这里输入代码
答案 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
});