2016-10-19 1 views
0

Я отправляю запрос на удаление с помощью углового ресурса $, однако он всегда получает ошибку 415, а тело запроса обращается к строке, выглядит как запрос на получение.угловой запрос на отправку ресурса с помощью метода DELETE и тела запроса получить ошибку 415

'use strict'; 

(function(angular, window){ 

var authsys = angular.module('authsysApp'); 

authsys.factory('$_privilege', ['$resource', '$q', '$notify', function($resource, $q, $notify){ 

    var resource = { 
     //删除权限 
     batchRemovePrivilege: $resource(window.ctxPath + '/rolepri/batchDeletePrivilegeFromRole', {}, {delete:{method: 'DELETE'}}) 
    }; 

    return { 
     batchRemovePrivilege: batchRemovePrivilege 
    }; 

    function batchRemovePrivilege(params){ 

     var q = resource.batchRemovePrivilege.delete(params).$promise; 
     return q.then(function(){ 
      return true; 
     }); 
    } 


}]); 

})(angular, window); 

enter image description here

ответ

0

Попробуйте добавить заголовок к вашему запросу:

var resource = { 
    //删除权限 
    batchRemovePrivilege: function(params){ 
      return $http({ 
       method: 'DELETE', 
       url: window.ctxPath + '/rolepri/batchDeletePrivilegeFromRole', 
       data: params, 
       headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
      }); 
    } 
}; 

выполнить:

var q = resource.batchRemovePrivilege(params).$promise; 
+0

спасибо за ответ, так как мы используем ngResource сделать поэтому я не хочу нарушать это правило. мы не можем достичь цели через ngResource? –

+0

Попробуйте добавить заголовок в $ resource. return $ resource (window.ctxPath + '/ rolepri/batchDeletePrivilegeFromRole', {}, {delete: {method: 'DELETE'}, заголовки: {'Content-Type': 'application/x-www-form-urlencoded'} }) – Tal

Смежные вопросы