2015-07-15 4 views
1

Как сделать нормальный POST с корпусом полезной нагрузки с угловым $resource. Прямо сейчас, когда я POST, он отправляется в /api/example?name=JoeSmith&is_whatever=false, вместо того, чтобы публиковать его с телом.

Допустим, у меня есть следующие:

ENDPOINT: `/api/example` 
BODY: { 
    "name": "Joe Smith", 
    "is_whatever": false 
} 

API Service

angular.module('example') 
    .factory('APIService', ['$resource', 

     function($resource) { 

      return $resource('/api/example', {}, { 
       create: { 
       method: 'POST', 
       } 
      });   

     }]); 

Пример использования

// body i need to POST 
    var payload = { 
     name: 'Joe Smith', 
     is_whatever: false   
    }; 

    APIService.create(payload).$promise.then(function(res){ 
     // doesnt work 
    }); 
+0

ли эта работа: 'APIService.create ({}, полезная нагрузка) $ promise.then (...)' –

+0

первого аргумент должен быть пустым или PARAMS {}, то полезной нагрузки. ' APIService.create ({}, полезная нагрузка). $ Prom.then (function (res) { // не работает }); ' – rynangeles

ответ

3

Попробуйте передать параметр данных для метода действия ресурс следующим образом:

angular.module('example', ['ngResource']) 

.run(function(APIService) { 
    var payload = { 
     name: 'Joe Smith', 
     is_whatever: false   
    }; 
    APIService.save({}, payload) 
}) 

.factory('APIService', function($resource) { 
    return $resource('/api/example'); 
}); 
Смежные вопросы