Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未使用激发服务方法。然后_Javascript_Angularjs - Fatal编程技术网

Javascript 未使用激发服务方法。然后

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

下面是我的AngularJs代码,我试图在成功调用ProcessCriteria后调用TalentPoolService.search(),但由于某些原因,它没有命中TalentPool.Service。我做错了什么

       $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工作正常。但是我能够顺利地从其他控制器调用服务,不确定问题出在哪里。