2014-01-10 2 views
1

Я использую ресурс AngularJS $ для сохранения больших объектов. Все работало хорошо, пока объект не стал действительно большим.

angular.module('Test.services').factory('TestService', function($resource) { 

    return $resource('/MyRestURL/:id', { id: "@id" }, { 
     save : { 
      method: 'POST', 
      isArray: false, 
      params: { 
       data: "@data" 
      } 
     } 
    }); 

}); 

Я получаю ответ

Method POST 
Cached No 
Status Request-URI Too Large 
Code 414 

И я вижу, он посылает все в URL ...

+0

С каким браузером. Я бы предположил IE и если да, то какая версия? – Dalorzo

+1

Я бы удалил 'params', потому что я думаю, что _that_ делает угловым все данные в url, тогда как вы просто хотите опубликовать его. – towr

+0

@towr - гений !!! Как я могу пометить ваш комментарий как лучший ответ :)? –

ответ

1

Попробуйте использовать

angular.module('Test.services').factory('TestService', function($resource) { 
    return $resource('/MyRestURL/:id', { id: "@id" }, { 
     save : { 
      method: 'POST' 
     } 
}); 

params сказать Угловая поставить эту собственность в url как параметр get. (И значение isArray по умолчанию неверно.)