angularjs 1 onSuccess $$状态为空
angularjs 1 onSuccess $$state is empty
在 AngularJS v1.6.9 中,我使用 HTTP post 方法调用我的 API 但 $$state 给我 null 所以我无法提供我的列表。我尝试调试 result = response.data 给我列出但是当那个 API 调用服务但是 post API 函数 return 也是列表但是在控制器中,我可以获取 data.Please 帮助我
模块是
var adminDashbord = angular
.module('mymodel', ['ui.router', 'ui.bootstrap', 'datatables', 'datatables.buttons']);
我的 API 呼叫服务是
mymodel.service('ApiCall', ['$http', function ($http) {
var result;
var retResult;
var data;
this.PostApiCall = function (controller, method, jData) {
jData = JSON.stringify(jData);
result = $http.post('http://localhost:2153/' + controller + '/' + method, jData).then(function onSuccess(response)
{
result = response.data;
})
.catch(function onError(response)
{
console.error("CustomError:" + response.data);
console.error("Status:" + response.status);
});
return result;
};
Post API 在像
这样的控制器中
mymodel.controller('productmasterController', ['$scope', 'ApiCall',
function ($scope, ApiCall) {
$scope.init = function ()
{
$scope.getAllproduct();
}
$scope.getAllproduct = function () {
var reqdata = null;
result = ApiCall.PostApiCall("Product", "SelectAllProduct", reqdata).then(function (response) {
$scope.getProduct = response.ProductList;
});
};
}]);
我的问题是 $$state 给出了一个空结果。
您有两个选择:
result = $http.post(url).then(function(response){
return response.data;
})
return result;
或
return $http.post(url).then(function(response){
return response.data;
})
无论哪种方式,您都需要 return 一个 Http Promise, which $http.get
request returns。如果你希望你的承诺包含任何数据,你还需要 return 其中的响应,因此使用第二个 return
(对于 response.data
)。
在 AngularJS v1.6.9 中,我使用 HTTP post 方法调用我的 API 但 $$state 给我 null 所以我无法提供我的列表。我尝试调试 result = response.data 给我列出但是当那个 API 调用服务但是 post API 函数 return 也是列表但是在控制器中,我可以获取 data.Please 帮助我
模块是
var adminDashbord = angular
.module('mymodel', ['ui.router', 'ui.bootstrap', 'datatables', 'datatables.buttons']);
我的 API 呼叫服务是
mymodel.service('ApiCall', ['$http', function ($http) {
var result;
var retResult;
var data;
this.PostApiCall = function (controller, method, jData) {
jData = JSON.stringify(jData);
result = $http.post('http://localhost:2153/' + controller + '/' + method, jData).then(function onSuccess(response)
{
result = response.data;
})
.catch(function onError(response)
{
console.error("CustomError:" + response.data);
console.error("Status:" + response.status);
});
return result;
};
Post API 在像
这样的控制器中mymodel.controller('productmasterController', ['$scope', 'ApiCall',
function ($scope, ApiCall) {
$scope.init = function ()
{
$scope.getAllproduct();
}
$scope.getAllproduct = function () {
var reqdata = null;
result = ApiCall.PostApiCall("Product", "SelectAllProduct", reqdata).then(function (response) {
$scope.getProduct = response.ProductList;
});
};
}]);
我的问题是 $$state 给出了一个空结果。
您有两个选择:
result = $http.post(url).then(function(response){
return response.data;
})
return result;
或
return $http.post(url).then(function(response){
return response.data;
})
无论哪种方式,您都需要 return 一个 Http Promise, which $http.get
request returns。如果你希望你的承诺包含任何数据,你还需要 return 其中的响应,因此使用第二个 return
(对于 response.data
)。