我在这里使用Angularjs1.x,这是我的条件。如果条件成功,则显示表,否则抛出错误。如果成功,我知道一些代码。
AngCtrl.Js
$scope.BtnCall = function () {
ServiceCntrl.CallData().then(function (d) {
$scope.EmpData = d.data;
});
}
AngService.Js
eApp.service("ServiceCntrl", function ($http) {
var xx = '';
xx= $http({
data: formData,
method: 'post',
url: Url,
datatype: "json"
}).success(function (rsp) {
RspData = rsp;
return RspData;
}).error(function (rsp) {
console.log('Error');
});
return xx;
};
答案 0 :(得分:1)
你的x.then
收到两个函数x.then(function(){}, function(){});
第一个函数在promise成功解析时被调用,第二个函数在promise被拒绝(失败)时被调用。
如果你的服务函数是返回$ http promise,那么你的第一个函数可以有一个名为(你喜欢的任何东西)的参数,它将有你可以使用的响应数据。如果有的话,第二个函数可以接收错误参数。
答案 1 :(得分:0)
您应该查看有角度的$http service文档。
如果您的服务正在返回获取请求的承诺,那么您可以编写
$scope.BtnCall = function () {
var x = ServiceCntrl.CallData();
x.then(function(response) {
//Success callback
//code on success goes here
//response.data
}, function(response) {
//error callback
//code on error goes here
// server returns response with an error status.
});
您可以使用ng-show/ng-hide来显示和隐藏html页面上的内容。
答案 2 :(得分:0)
您可以按以下方式编写成功/失败代码:
$scope.BtnCall = function() {
var x = ServiceCntrl.CallData();
x.then(function(result) {
// Success code here
// Do something and resolved the promise
}, function(reason) {
// Error code here
// You may handle/reject the reason in params
});
});
另请参阅Angular docs for $q
。
答案 3 :(得分:-1)
AngularJS $ http服务向服务器发出请求,并返回响应
上面的示例以对象作为参数执行$ http服务。该对象指定HTTP方法,URL,成功时做什么以及失败时要做什么。
$scope.BtnCall = function () {
ServiceCntrl.CallData().then(function (d) {
$scope.EmpData = d.data;
});
}
AngService.Js:
eApp.service("ServiceCntrl", function ($http) {
var xx = '';
xx= $http({
data: formData,
method: 'post',
url: Url,
datatype: "json"
}).success(function (rsp) {
RspData = rsp;
return RspData;
}).error(function (rsp) {
console.log('Error');
});
return xx;
};