【发布时间】:2016-10-22 19:31:17
【问题描述】:
为了解决我的问题,我浏览了不同网站上的许多文章,但没有一个能解决问题。 我正在编写一个简单的 AngularJS 应用程序。我对 Angular 很陌生。我编写了一个工厂方法,它调用从 web api 获取数据的 $http 服务。 Web api 运行良好,并按预期返回 JSON 对象。
角度代码
var app = angular.module("app", [])
.controller("controller", function ($scope, WebFactory) {
$scope.data = "data";
$scope.error = "error";
$scope.data=WebFactory.getData();
})
.factory("WebFactory", function ($http) {
var obj = {};
obj.getData = function()
{
$http({
method: "GET",
url: "http://localhost:37103/api/employee",
}).then(function success(response) {
return response.data;
})
.then(function error(response) {
return response;
});
return 'No data';
}
return obj;
});
HTML 代码
<body ng-controller="controller">
data: {{data}}
<br/>
error: {{error}}
<br />
我已经用了2天,但仍然不知道为什么它不起作用。
【问题讨论】:
-
您是否在控制台中看到任何错误?
-
嗨@Sajeetharan,我看不到任何错误,它说“HTML1300:发生导航”。仅限。
-
您的 getData 方法没有多大意义。 $http() 返回一个承诺,当您收到响应时将解决该承诺。它的异步调用。因此,在任何情况下,从获取数据中您都会返回“无数据”。当响应到来时,您只需在回调中处理它,但之后没有任何东西使用它。
-
在提琴手上,当我点击 url 时,它会向我展示 JSON 对象。
标签: javascript angularjs angularjs-service angularjs-factory