Javascript 未使用激发服务方法。然后
下面是我的AngularJs代码,我试图在成功调用ProcessCriteria后调用TalentPoolService.search(),但由于某些原因,它没有命中TalentPool.Service。我做错了什么Javascript 未使用激发服务方法。然后,javascript,angularjs,Javascript,Angularjs,下面是我的AngularJs代码,我试图在成功调用ProcessCriteria后调用TalentPoolService.search(),但由于某些原因,它没有命中TalentPool.Service。我做错了什么 $scope.Search = function (item, SolrLabel) { if (item != null) { console.log('Item: ' + item.Key); console.log('So
$scope.Search = function (item, SolrLabel) {
if (item != null) {
console.log('Item: ' + item.Key);
console.log('SolrLabel: ' + SolrLabel);
console.log($localStorage.message);
var pvarrData = new Array();
pvarrData[0] = JSON.stringify($localStorage.message);
pvarrData[1] = item.Key;
pvarrData[2] = SolrLabel;
$http({
method: 'POST',
url: '/api/TalentPool/ProcessCriteria',
data: JSON.stringify(pvarrData),
headers: { 'Content-Type': 'application/json' }
}).then(function (response) {
console.log('ProcessCriteria Success fired');
$localStorage.message = response.data;
console.log(response.data);
return response.data;
},
function (response) {
// failed
console.log('facet post error occured!');
}).then(
function () {
TalentPoolService.search().then(function successCallback(response1) {
$scope.talentpoolist = response1.data.model;
$localStorage.message = response1.data.baseCriteria;
console.log('TalentPoolService.search successCallback fired');
setTimeout(function () {
LetterAvatar.transform();
}, 20);
}, function errorCallback(response1) {
$scope.errors = [];
$scope.message = 'Unexpected Error while saving data!!' + response;
})
}
);
}
}
您必须返回数据以使链接正常工作
$http({
method: 'POST',
url: '/api/TalentPool/ProcessCriteria',
data: JSON.stringify(pvarrData),
headers: {
'Content-Type': 'application/json'
}
}).then(function(response) {
console.log('ProcessCriteria Success fired');
$localStorage.message = response.data;
console.log(response.data);
return response.data; // **return here**
},
function(response) {
// failed
console.log('facet post error occured!');
}).then(
function() {
TalentPoolService.search().then(function successCallback(response1) {
$scope.talentpoolist = response1.data.model;
$localStorage.message = response1.data.baseCriteria;
setTimeout(function() {
LetterAvatar.transform();
}, 20);
}, function errorCallback(response1) {
$scope.errors = [];
$scope.message = 'Unexpected Error while saving data!!' + response;
})
}
);
为什么,因为您正在使用的下一个需要处理一些数据。所以,如果你不归还,它就不能。因此,必须返回数据。
TalentPoolService.search()
必须包装在一个函数中,我认为。我尝试过,但没有用尝试过的函数更新问题。更新了代码,请看一看,您必须返回上面的内容,然后使用then链接响应。我现在可以在控制台中看到“TalentPoolService.search successCallback fired”消息,但它从未命中alentPoolService.search()本身。?(代码更新)您获得了成功回调。现在,您面临的错误是什么。在TalentPoolService.search()successCallback函数中,我添加了一条控制台消息“TalentPoolService.search successCallback fired”。现在,当我运行我的页面时,我可以看到控制台消息,但是它从未命中应该被TalentPoolService.search服务命中的服务器方法。错误一定在您的服务中。这里的http
call工作正常。但是我能够顺利地从其他控制器调用服务,不确定问题出在哪里。