2016-05-17 30 views
0

检测到残破的拦截器:配置对象未提供拒收: 我在调用post方法时遇到此错误。检测到破碎的拦截器:配置对象未提供拒收:

我已经给服务,控制器,和PHP代码

服务

angular.module('sbAdminApp') 
.factory('Branch', function($resource){ 
    return $resource('api/branchdetails/:branch_id',{branch_id:'@_branch_id'},{ 
     update: { 
      method: 'PUT' 
     } 
    }); 
}) 
.service('popupService',function($window){ 
    this.showPopup=function(message){ 
     return $window.confirm(message); 
    } 
}); 

控制器

angular.module('sbAdminApp') 
.controller('BranchDetailsController', function($scope,$state,$stateParams,$window,Branch){ 

     $scope.branch = new Branch(); 

     $scope.addBranch=function(){     
      $scope.branch.$save(function(){ 
       $state.go('branchdetails'); 
     }); 
    } 
}); 

PHP代码

<?php 

require_once('Slim/Slim.php'); 
require_once('dbconnection.php'); 

$app = new Slim(); 
$app->post('/branchdetails','addBranch'); 
$app->run(); 
function addBranch() { 
    $request = Slim::getInstance()->request(); 
    $branch = json_decode($request->getBody()); 
    $sql = "INSERT INTO branch(branch_name, branch_address, branch_phno, branch_mobileno, branch_contactperson, branch_createdate, branch_modifieddate) VALUES (:branch_name,:branch_address, :branch_phno, :branch_mobileno, :branch_contactperson, :branch_createdate, :branch_modifieddate)"; 
    try { 
     $db = getConnection(); 
     $stmt = $db->prepare($sql); 
     $stmt->bindParam("branch_name", $branch->branch_name); 
     $stmt->bindParam("branch_address", $branch->branch_address); 
     $stmt->bindParam("branch_phno", $branch->branch_phno); 
     $stmt->bindParam("branch_mobileno", $branch->branch_mobileno); 
     $stmt->bindParam("branch_contactperson", $branch->branch_contactperson); 
     $stmt->bindParam("branch_createdate", $branch->branch_createdate); 
     $stmt->bindParam("branch_modifieddate", $branch->branch_modifieddate); 
     $stmt->execute(); 
     $branch->branch_id = $db->lastInsertId(); 
     $db = null; 
     echo json_encode($branch); 
    } catch(PDOException $e) { 

     echo '{"error":{"text":'. $e->getMessage() .'}}'; 
    } 

} 



?> 

回答

1

某处在你的代码中有一个interceptor$httpProvider不有一个适当的响应误差部分,像这样:

(function() { 
    angular.module('App')    
      .config(['$httpProvider', httpProviderConfig]); 

    function httpProviderConfig($httpProvider) { 

     var interceptor = ['$rootScope', '$q', function ($rootScope, $q) { 

      return { 

       'responseError': function (rejection) { 

        return $q.reject(rejection); 
       } 
      }; 
     }]; 

     $httpProvider.interceptors.push(interceptor); 
    } 
})(); 
+0

我是新来angularjs,所以请帮我指出,我需要保持这种拦截器? –

+0

即使我得到了另一个这样的错误“SyntaxError:意外的令牌S 在Object.parse(本机)” –

+0

我没有说拦截拦截器,我说找到它,搜索所有角度的文件'$ httpProvider'和看看我什么时候用过? – Exlord