2017-07-05 49 views
0

我打电话给服务saveRouteInfo(),但是只有成功回调才会在控制器中出现错误和成功的情况下被调用。角度服务没有返回错误响应

服务

gisApp.factory('rpServc', function($http) { 
     return { 
      saveRouteInfo:function(routeInfo){ 
       return $http.post("/GISWebApp/gis/api/v1/route",routeInfo).then(
        function(response) 
        { 
         return response.data;   
        }, function(response) { 
         return response.data; 
        }); 
      }, 
     }; 
}); 

控制器

rpServc.saveRouteInfo(routeInfo).then(function(data) { 
    alert(JSON.stringify(data)); 

}, function(error) { 
    alert(JSON.stringify(error)); 
}); 
+0

https://jsfiddle.net/0trpgxm8/1/ –

回答

0

使用$ Q

gisApp.factory('rpServc', function($http, $q) { 
     var deferred = $q.defer(); 
     return { 
      saveRouteInfo:function(routeInfo){ 
       return $http.post("/GISWebApp/gis/api/v1/route", routeInfo). 
       then(function(response) { 
        return response;   
       }, function(reason) { 
        return $q.reject(reason); 
       }); 
      }, 
     }; 
    }); 
+0

成功从v1.5开始在angularjs中被弃用。请避免使用它。 – digit

+0

通过删除成功更新了答案 – Veera

相关问题