AngularJS - Как отправить форму контроллеру на сервере?

Примеры форм поваренной книги на сайте AngularJS сохраняют только состояние на клиенте. Как отправить на сервер?

В качестве альтернативы, как использовать jQuery form.submit() в форме в функции ng:click="save()"?

Изменить - Найдено 2 способа сделать это (я также удалил разметку HTML, которую я вставлял раньше - просто перейдите к примеру сборной формы для источника)

  • http://webpac2.rot13.org:3000/conference/Work (от Dobrica Pavlinusic), чтобы пройти путь AngularJS, используя ресурс для отправки данных на сервер в JSON. У меня были проблемы с этим на стороне сервера - AngularJS посылал это нормально, но grails искажали его (согласно Firebug и запрашивали длину контента). Мне нужно посмотреть на это больше. Как изменить тип содержимого в angular для метода ресурса, такого как $save()?

  • Вставьте форму и используйте кнопку отправки. Поскольку я не использую одностраничное веб-приложение, я использовал этот метод. Большинство проверок было на клиенте и еще несколько на сервере, что было достаточно для меня.

Просто поместите это здесь, чтобы кто-то другой мог использовать это для возможных решений и наилучшего подхода.

Ответы

Ответ 1

Обратите внимание, что существует строгое разделение view (ваш шаблон html) и логика (ваш JS-код) - в основном из-за возможности тестирования.

Правильный способ - просто отправить свою модель на сервер, используя $resource (для REST) ​​или низкий уровень $http. Вместо выполнения задания в шаблоне.

Простой пример - HTML-шаблон

First: <input type="text" ng-model="person.first" />
Last: <input type="text" ng-model="person.last" />
<button ng:click="save()">Save</button>

JavaScript-контроллер

function FormCntl($scope, $http) {
  $scope.save = function() {
    $http.put('/save.py', $scope.person);
  };
}

Ответ 2

Насколько я знаю, на самом деле нет хорошего способа изменить заголовки, которые angular отправляет серверу на редактирование источника angular. Это запланированное усовершенствование, но это еще не сделано.

Я думаю, что angular google group может быть лучше задавать такие вопросы, как это, поскольку разработчики очень дружелюбны и осведомлены.