2016-02-18 3 views
0

Я могу отправить запрос put с заголовком с ngResource. Мой FactoryService выглядит так:Как отправить запрос-запрос с телом в Angular с ngResource

angular 
.module("playersServicesModule", ["ngResource", "config"]) 
.factory("playersService", ["$resource", "API_ROOT", 

    function ($resource, API_ROOT) { 
    "use strict"; 

    var url = API_ROOT + "/api/footballplayers"; 

    return { 

     updateFootballPlayer: function (id, column, newValue) { 

     return $resource(url + '/:Id', { Id: id }, 
       { 
        "update": { 
        method: 'PUT', headers: { 
         "Column": column, 
         "NewValue": newValue 
        } 
        } 
       }); 
     } 

    }; 

Как я могу добавить данные в тело запроса-запроса?

ответ

3

UPDATE

Предлагаемое обновление вашего завода будет следующим:

angular 
.module("playersServicesModule", ["ngResource", "config"]) 
.factory("playersService", ["$resource", "API_ROOT", 

    function ($resource, API_ROOT) { 
     "use strict"; 

     var url = API_ROOT + "/api/footballplayers"; 

     var myResource = $resource(url + '/:Id', 
       { Id: '@id }, 
       { 
        "update": { 
         method: 'PUT' 
        } 
       }); 

     return { 

      updateFootballPlayer: function (id, column, newValue) { 

       return myResource.update(
        {Id: id}, 
        { 
         column: column, 
         newValue: newValue 
        }, 
        function (successResponse) { 
         // Do something on success 
        }, 
        function (failResponse) { 
         // Do something on fail 
        } 
       ); 
      } 

     }; 
    }); 

ORIGINAL

Вы добавляете данные к телу при выполнении фактического запроса, например,

$resource(url + '/:Id', { Id: id }, 
    { 
     "update": { 
      method: 'PUT', 
      headers: { 
       "Column": column, 
       "NewValue": newValue 
      } 
     } 
    } 
).update(
    {}, 
    <BODY_OBJECT>, 
    function (successResponse) {}, 
    function (failResponse) {} 
); 

Ваш объект для передачи в качестве данных тела заменит <BODY_OBJECT>.

+0

$ resource не выполняет запрос $ http PUT, он просто создает объект, который вы можете создавать с помощью запросов. Вы должны вызвать действие «update», которое вы определили на нем, для выполнения фактического запроса PUT. –

+0

Обновлено с помощью предлагаемого редактирования на вашем заводе (удалены заголовки и помещены как объект тела для запроса). –

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